1
我想改變多個圖像的不透明度,當我使用setImageOpacity它適用於所有圖像,但不能與png圖像一起使用,當我使用evaluateImage時,它對於透明圖像很好,但對其他圖像不適用。如何可以用於所有類型的圖像的方法相同的方法,如果圖像是透明的或不此,如果使用條件getImageAlphaChannel()功能使用imagick改變圖像的不透明度
檢測如果圖像具有任何透明
是代碼
<?php
// Open the original image
$image = new Imagick();
$image->readImage(3.jpg);
// Open the watermark
$watermark = new Imagick();
$watermark->readImage(2.png);
$watermark->setImageOpacity(0.444);
//$watermark->evaluateImage(Imagick::EVALUATE_MULTIPLY, 0.0, Imagick::CHANNEL_ALPHA);
$watermark->rotateImage(new ImagickPixel('transparent'), 90);
// Overlay the watermark on the original image
$image->compositeImage($watermark, imagick::COMPOSITE_OVER, 20, 20);
// send the result to the browser
header("Content-Type: image/" . $image->getImageFormat());
echo $image;