【问题标题】:Images lose transparency with imagick?imagick的图像失去透明度?
【发布时间】:2018-03-30 13:37:07
【问题描述】:

这是我第一次摆弄 imagick/动态图像。我用于构建图像的图层的所有图像都是透明的 PNG 文件。但是,当由于某种原因通过 imagick 将图像压缩成一张图像时,透明度会丢失,从而导致白色背景和白色应该透明的地方。这是一个正常的问题,有没有办法解决它?这是我列出要使用的图像后的部分;

$composed_image = new \Imagick($images);
$image = $composed_image->mergeImageLayers(\Imagick::LAYERMETHOD_FLATTEN);
$image->setImageFormat('png');
header('Content-type: image/png');
echo $image->getImageBlob();

【问题讨论】:

  • 在展平之前试试这个...setImageBackgroundColor('#FFFFFF');
  • 有一个名为 pslayers 的包,我们在一些应用程序的生产环境中使用它来处理此类事情。免责声明:我是包的作者。

标签: php image imagick


【解决方案1】:

发现我需要将其应用于每个图像层: $composed_image->setImageBackgroundColor('transparent'); $composed_image->setImageAlphaChannel(Imagick::ALPHACHANNEL_REMOVE);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多