我正在使用Rmagick为iOS生成图标。为此,我需要删除透明度。现在,我将停用Alpha通道并展平所有图像。这是我用于此的代码。
app_store_icon = ImageList.new(app_store_icon_url)
app_store_icon.alpha(DeactivateAlphaChannel)
app_store_icon.flatten_images
但是,如果用户上传没有透明度的正确png图像,我想避免不必要的步骤。那么如何检查图像中是否有透明性,并且仅在需要时执行上述步骤?
答案 0 :(得分:0)
在Imagemagick命令行中,提取Alpha通道并测试其平均值是否小于1。如果是,则它具有透明度。如果为1,则没有透明度。
value=$(convert image -alpha extract -format "%[fx:mean]" info:)
or
value=$(convert image -alpha extract -scale 1x1! -format "%[fx:u]" info:)
if [ "$value" = 1 ]; then
echo "opaque"
else
echo "transparent"
fi
对不起,我不认识RMagick。