我正在尝试编写一个代码,我得到一个png / jpeg图像。如果是png图像,我想检查它的背景是否100%透明。如果是,我想使用图像magick添加白色背景。
目前我使用image magick"识别-format%A new.png"根据透明度返回true或false。
但是,有没有办法使用image magick或java代码找出100%的背景透明度?
答案 0 :(得分:1)
您可以迭代图像中的每个像素,并检查最重要的字节(即alpha通道)是否为零(如here所述)。 这样做是这样的:
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;
}