Я хочу использовать модуль Actions для imagecache для создания наложений изображений. Пользователь должен загрузить одно изображение, и я хочу масштабировать и обрезать его, а затем наложить поверх него прозрачный PNG.
Я установил модули drupal 6 и ImageCache и Действия с ImageCache . Действия ImageCache определяют функцию imageapi_image_overlay
.
Я создал пресет ImageCache с именем 590x160_Newsletter
для масштабирования и обрезки изображения.
Инструмент изображения - GD
Вот что я хочу сделать: пользователь загружает изображение. Это изображение масштабируется и обрезается с помощью предустановки ImageCache. Затем я хочу наложить его на изображение (PNG с прозрачностью). Я не могу выбрать это в качестве предустановки, потому что это зависит от некоторых других настроек в узле, какое оверлейное изображение я хочу использовать.
Масштаб и кадрирование работают хорошо, но $image2
после вызова imageapi_image_overlay
остается тем же (тот же путь, то же изображение), хотя и говорит "успех" Но это должно быть изменено так, как в справочнике API написано
Вот тестовый код
/* PHP */
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
print "<body style=\"background: lightgreen\">";
$path = "path/to/source/image.jpg";
$opath = "path/to/overlay/image.png";
print '<xmp>';
$image = imageapi_image_open($path);
print '$image: ' . print_r($image,1) . "\n";
$image2 =imageapi_image_open(imagecache_create_path('590x160_Newsletter', $path));
print '$image2: ' . print_r($image2,1) . "\n";
$overlay = imageapi_image_open($opath);
print imageapi_image_overlay($image2, $overlay, 0, 0, 100, TRUE) ? "success\n" : "failure\n";
print '$image2 after: ' . print_r($image2,1) . "\n";
print '$overlay: ' . print_r($overlay,1) . "\n";
print '</xmp>';
print "<img src=\"$image->source\" />";
print "<img src=\"$image2->source\" />";
print "<img src=\"$overlay->source\" />";