9

是否可以检查 png 图像在 Java 中是否具有透明度?如果 png 图像不包含透明度,我需要将所有 png 图像转换为 jpg。Java中有没有方法来检查这个?

4

1 回答 1

17

您可以检查图像的颜色模型是否包含 alpha 通道:

BufferedImage img = ImageIO.read(/* from somewhere */);

if (img.getColorModel().hasAlpha()) {
    // img has alpha channel
} else {
    // no alpha channel
}

请注意,此代码仅检测已使用 Alpha 通道保存的图像。带有 alpha 通道的图像可能仍然是完全不透明的(即所有像素的 alpha = 1)。

于 2012-04-19T08:03:07.107 回答