【发布时间】:2015-09-05 15:13:56
【问题描述】:
Java BufferedImage 类有一个很长的类变量列表,称为图像类型,可用作 BufferedImage 构造函数的参数。
但是,Java 文档对这些图像类型的用途以及它如何影响要创建的 BufferedImage 做了一个最低限度的解释。
我的问题是:
图像类型将如何影响要创建的 BufferedImage?它是否控制用于存储各种颜色(红、绿、蓝)的位数及其透明度?
-
如果我们只是想创建,我们应该使用哪种图像类型
- 不透明的图像
- 透明图片
- 半透明图像
我多次阅读 Java Doc 中的描述,但无法弄清楚我们应该如何使用它。比如这个:
TYPE_INT_BGR
表示具有 8 位 RGB 颜色分量的图像,对应于 Windows 或 Solaris 样式的 BGR 颜色模型,其中蓝色、绿色和红色颜色打包成整数像素。没有阿尔法。该图像具有 DirectColorModel。当具有非不透明 alpha 的数据存储在这种类型的图像中时,必须将颜色数据调整为非预乘形式并丢弃 alpha,如 AlphaComposite 文档中所述。
【问题讨论】:
-
什么是半透明图像?它与透明图像有何不同?
-
@AndyTurner 我记得我在某处读过它关于使部分图像透明而半透明是在调整整个图像的不透明度。例如,gif 文件允许透明但不允许半透明,而 png 文件支持两者。这是一个可能需要使用不同图像类型的示例。没有?
标签: java bufferedimage