ImageMagick 7中Alpha Activate与缩放顺序问题导致空白图片
ImageMagick 6转7时-alpha选项顺序导致空白图的问题解答
结论:ImageMagick 7中命令选项的顺序确实会直接影响处理结果,尤其是通道操作和图像调整类命令的先后顺序
针对你遇到的问题,具体原因如下:
- 你的原命令:
因为输入的convert "C:\Imagemagick\beige.png" -alpha Activate -scale 640x640 "C:\Imagemagick\Out\Zoom.jpg"beige.png本身没有Alpha通道,在ImageMagick 7中,-alpha Activate会强制创建一个全透明的Alpha通道。之后执行-scale缩放时,图像会因为全透明通道的存在,最终输出为空白图。 - 当输入图自带Alpha通道时,
-alpha Activate只是激活已有的通道,不会将其置为全透明,所以后续缩放能得到有效结果。 - 把
-alpha Activate放在-scale之后时,缩放操作先保留了原图像的非透明像素信息,再激活Alpha通道(此时通道会基于现有像素生成,不会出现全透明的情况),因此输出正常。
ImageMagick 7对命令的执行逻辑做了更严格的顺序约束,所有命令都是从左到右依次作用于当前图像状态的,通道相关操作的位置会直接改变后续处理的像素基础状态,这也是和ImageMagick 6的关键差异之一。
内容的提问来源于stack exchange,提问作者pmvp
相关产品推荐
相关产品推荐

