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;