繁体   English   中英

识别Png图像是否具有100%透明的背景

[英]Identify whether a Png image has 100 percent transparent Background

我正在尝试编写代码以获取png / jpeg图像。 如果是png图像,我要检查其背景是否100%透明。 如果是,我想使用图像魔术添加白色背景。

当前,我使用image magick的“ identify -format%A new.png”,该透明度基于透明度返回true或false。

但是,有什么方法可以使用image magick或Java代码找出100%的背景透明度吗?

你可以遍历图像中的每个像素,并检查最显著字节(即alpha通道)是否为零(如解释在这里 )。 像这样做:

public static boolean isFullyAlpha(File f) throws IOException {
    BufferedImage img = ImageIO.read(f);
    for(int y = 0; y < img.getHeight(); y++) {
        for(int x = 0; x < img.getWidth(); x++) {
            if(((img.getRGB(x, y) >> 24) & 0xFF) != 0) {
                return false;
            }
        }
    }
    return true;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM