use*_*460 10 java bufferedimage
Java BufferedImage类有一长串类变量,称为图像类型,可用作BufferedImage构造函数的参数.
但是,Java文档对这些图像类型的用途做了最小的解释,它将如何影响要创建的BufferedImage.
我的问题是:
图像类型如何影响要创建的BufferedImage?它是否控制用于存储各种颜色(红色,绿色,蓝色)的位数及其透明度?
如果我们只想创建,我们应该使用哪种图像类型
我多次阅读Java Doc中的描述,但是我们不知道应该如何使用它.例如,这一个:
TYPE_INT_BGR
表示具有8位RGB颜色分量的图像,对应于Windows或Solaris样式的BGR颜色模型,其中颜色为蓝色,绿色和红色打包为整数像素.没有阿尔法.该图像具有DirectColorModel.当具有非不透明alpha的数据存储在此类型的图像中时,必须将颜色数据调整为非预乘形式并丢弃alpha,如AlphaComposite文档中所述.
Jac*_*ack 13
除非您有特定要求(例如保存内存或保存计算或特定的原生像素格式),否则请使用默认值TYPE_INT_ARGB,每个通道有8位,3个通道+ alpha.
当使用每通道8位时跳过alpha通道不会影响图像占用的总内存,因为int在任何情况下每个像素都将被打包,因此将丢弃8位.
基本上你有:
TYPE_INT_ARGB,alpha通道每像素4个字节TYPE_INT_ARGB_PRE,每像素4个字节,与之前相同,但颜色已经乘以像素的alpha值以节省计算量TYPE_INT_RGB,每个像素4个字节,没有alpha通道TYPE_USHORT_555_RGB并且TYPE_USHORT_565_RGB,每个像素2个字节,更少的颜色,除非你有内存限制,否则不需要使用它然后有所有相同类型的格式与交换渠道(例如,BGR相反RGB).您应该选择平台的本机,以便减少转换.
| 归档时间: |
|
| 查看次数: |
13957 次 |
| 最近记录: |