是否可以在 Java 中检查 png 图像是否具有透明度?如果 png 图像不包含透明度,我需要将所有 png 图像转换为 jpg。 Java 中有检查这个的方法吗?
最佳答案
您可以检查图像的颜色模型是否包含 alpha channel :
BufferedImage img = ImageIO.read(/* from somewhere */);
if (img.getColorModel().hasAlpha()) {
// img has alpha channel
} else {
// no alpha channel
}
请注意,此代码仅检测已使用 alpha channel 保存的图像。具有 alpha channel 的图像可能仍然是完全不透明的(即所有像素的 alpha = 1)。
关于Java检查图像是否具有透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10223241/