【发布时间】:2012-04-30 16:22:17
【问题描述】:
是否可以检查 png 图像在 Java 中是否具有透明度?如果 png 图像不包含透明度,我需要将所有 png 图像转换为 jpg。 Java中是否有方法可以检查这个?
【问题讨论】:
标签: java graphics transparency
是否可以检查 png 图像在 Java 中是否具有透明度?如果 png 图像不包含透明度,我需要将所有 png 图像转换为 jpg。 Java中是否有方法可以检查这个?
【问题讨论】:
标签: java graphics transparency
您可以检查图像的颜色模型是否包含 alpha 通道:
BufferedImage img = ImageIO.read(/* from somewhere */);
if (img.getColorModel().hasAlpha()) {
// img has alpha channel
} else {
// no alpha channel
}
请注意,此代码仅检测已使用 Alpha 通道保存的图像。带有 alpha 通道的图像可能仍然是完全不透明的(即所有像素的 alpha = 1)。
【讨论】: