Java检查图像是否具有透明度

标签 java graphics transparency

是否可以在 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/

相关文章:

java - 我可以将 3 种不同的身份验证方案放在同一个 spring 安全配置中吗?

java - 如何使用具有 JTable 典型功能的 Prefuse 可视化表格

java - 如何通过java编程检索Active Directory中的属性 "unicodePwd"

命令行 Mathematica 7 中的图形?

android - 在 Android 平台上操作谷歌地图中的投影

java - 我如何在 JPA 中使用多个数据库?

python - 如何在 tkinter Canvas 上绘制弧线?

javascript - 5x5显示屏上的平滑点,如何避免阶梯效应?

iphone - 带边框的透明按钮

php - 为什么修复 GD 的 png 透明度问题的解决方案不起作用?