我希望能够使用Imagick PHP扩展检测图像是否透明。PHP imagick检测透明度
到目前为止,我唯一的幸运就是运行exec()/一些其他命令,并使用ImageMagick命令行工具来实现此目的。这就是我的意思:
exec("identify -verbose example_transparent_image.png | grep \"Alpha\"", $output);
$is_transparent = !empty($output) ? true : false;
逻辑很简单。对有问题的图像进行详细检查:如果输出包含任何alpha信息,则表示它使用透明度。
似乎PHP的imagick扩展应该把它作为它的命令之一,但缺乏文档正在杀死我。每次都必须运行这种检查似乎很愚蠢。
我自己碰到这个确切的问题,我跑过了辨识图像和getimagealphachannel。 Identifyimage根本没有提供足够的信息,而getimagealphachannel工作得很好。理论上,getImageAlphaChannel()提供了一个ALPHACHEANNEL常量,但坦率地说,文档在这方面是垃圾。我得到一个'0'为一个JPG,'1'为一个PNG与阿尔法,'0'为一个32位无阿尔法。基本上,完美的预期结果。 所以,即使这是目前一个10个月的问题/答案,我认为这是值得加我2美分。 –