我想使用imagecache Actions模塊來創建圖像疊加。用戶應該上傳一張圖片,我想縮放並剪裁,然後在上面覆蓋透明的PNG。正確使用imageapi_image_overlay?
我已經安裝了drupal 6和ImageCache和ImageCache Actions模塊。 ImageCache操作定義了imageapi_image_overlay
函數。
我創建了名稱爲590x160_Newsletter
的ImageCache預設來縮放和剪裁圖像。
圖像工具是GD
繼承人是我想做的事:用戶上傳的圖像。該圖像被縮放並用ImageCache預設進行裁剪。然後我想疊加一個圖像(具有透明度的PNG)。我不能選擇它在預設中,因爲它取決於節點中的一些其他設置,我要使用哪個疊加圖像。
規模和作物確實很好,但撥打imageapi_image_overlay
後的$image2
仍然是一樣的(相同的路徑,相同的圖像),雖然它說'成功'。但是應該改變像API reference說
下面是測試代碼
/* 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\" />";