当我使用setImageOpacity时,我希望更改多个图像的不透明度它适用于所有图像,但不适用于png图像,当我使用evaluateImage时,它对于透明图像工作正常,但对其他图像则无效图片。如果图像是透明的,那么我如何对所有类型的图像使用相同的方法?这是代码
<?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;
答案 0 :(得分:2)