Sco*_*ott 10 php transparency identifier imagick
我希望能够使用Imagick PHP扩展来检测图像是否透明.
到目前为止,我唯一的运气是运行exec()/其他命令,并使用ImageMagick命令行工具来实现这一点.这就是我的意思:
exec("identify -verbose example_transparent_image.png | grep \"Alpha\"", $output);
$is_transparent = !empty($output) ? true : false;
Run Code Online (Sandbox Code Playgroud)
逻辑很简单.对相关图像进行详细检查:如果输出包含任何alpha信息,则表示它使用透明度.
似乎PHP imagick扩展应该将它作为其命令之一,但缺少文档正在扼杀我.每次都要进行这种检查似乎很愚蠢.
小智 10
啊,解决了(我想).Imagick有一个函数getImageAlphaChannel(),如果它包含任何alpha信息则返回true,否则返回false.
确保您拥有ImageMagick 6.4.0或更高版本.
http://www.php.net/manual/en/function.imagick-getimagealphachannel.php