Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何防止Imagick变形在层中重叠透明PNG_Php_Imagemagick_Imagick - Fatal编程技术网

Php 如何防止Imagick变形在层中重叠透明PNG

Php 如何防止Imagick变形在层中重叠透明PNG,php,imagemagick,imagick,Php,Imagemagick,Imagick,我在imagick上使用了一个从一个图像到另一个图像的简单变形。这是我最初的图像: 我使用imagick对以下代码进行变形(插值帧): $images = [ "tentacle 10.png", "tentacle 23.png", ]; $imagick = new \Imagick(); foreach ($images as $image) { $nextImage = new \Imagick($image); $imagick-

我在imagick上使用了一个从一个图像到另一个图像的简单变形。这是我最初的图像:

我使用imagick对以下代码进行变形(插值帧):

$images = [

    "tentacle 10.png",
    "tentacle 23.png",

];

$imagick = new \Imagick();

foreach ($images as $image) {       
    $nextImage = new \Imagick($image);
    $imagick->addImage($nextImage);
}

$imagick->resetIterator();
$morphed = $imagick->morphImages(1);
最终结果是:

如您所见,后面的帧与前面的帧重叠,但由于它们具有透明背景,因此也会显示后面的图像

当我将初始图像转换为.jpg时,会丢失透明背景,它工作正常,不会重叠帧。结果是:

如何使其适用于透明图像