Java 不同类型的BuffereImage意味着什么?

Java 不同类型的BuffereImage意味着什么?,java,bufferedimage,Java,Bufferedimage,BuffereImage的文档非常。。。简洁 不同的类型意味着什么?当我为类型\u INT\u ARGB调用getPixel()时,我得到了什么?当类型为type\u 3BYTE\u BGR时,它与我得到的有什么不同?其他类型呢?TYPE\u INT\u ARGB使用整数保存像素的颜色,如 int color = 0xAARRGGBB, 但3BYTE_BGR使用 byte[] color = new byte[Blue, Green, Red] 我建议使用INT_ARGB,您可以使用alph

BuffereImage的文档非常。。。简洁


不同的类型意味着什么?当我为
类型\u INT\u ARGB
调用getPixel()时,我得到了什么?当类型为
type\u 3BYTE\u BGR
时,它与我得到的有什么不同?其他类型呢?

TYPE\u INT\u ARGB使用整数保存像素的颜色,如

int color = 0xAARRGGBB,
但3BYTE_BGR使用

byte[] color = new byte[Blue, Green, Red]
我建议使用INT_ARGB,您可以使用alpha,在3字节中没有通道alpha。整数比字节数组更快,而且容易获得任何颜色,例如:

(COLOR >> 16) & 0xFF; (24-16 bits are RED).
(COLOR >>  8) & 0xFF; (16- 8 bits are GREEN).
(COLOR >>  0) & 0xFF; ( 8- 0 bits are BLUE).

我总是使用INT\u ARGB或INT\u RGB(如果我不需要alpha)

TYPE\u INT\u ARGB使用整数保存像素的颜色,如

int color = 0xAARRGGBB,
但3BYTE_BGR使用

byte[] color = new byte[Blue, Green, Red]
我建议使用INT_ARGB,您可以使用alpha,在3字节中没有通道alpha。整数比字节数组更快,而且容易获得任何颜色,例如:

(COLOR >> 16) & 0xFF; (24-16 bits are RED).
(COLOR >>  8) & 0xFF; (16- 8 bits are GREEN).
(COLOR >>  0) & 0xFF; ( 8- 0 bits are BLUE).

我总是使用INT_ARGB或INT_RGB(如果我不需要alpha)

类型表示像素颜色类型

与类型_INT_ARGB一样,ALPHA分量使用8位,红色分量使用8位,绿色分量使用8位,蓝色分量使用8位。因此,像素颜色可以存储在
int
值中

类型_3BYTE_BGR不存储颜色的ALPHA分量。它只使用3个字节的
int

与类型_USHORT_555_一样,RGB对颜色的每个红色、绿色和蓝色分量使用5位。由于它只使用5位,因此它的颜色数量将比类型\ INT \ u ARGB或类型\ u 3BYTE \ u BGR有限

ALPHA组件表示图像的透明度


同样,其他类型定义不同的颜色方案。

类型表示像素颜色类型

与类型_INT_ARGB一样,ALPHA分量使用8位,红色分量使用8位,绿色分量使用8位,蓝色分量使用8位。因此,像素颜色可以存储在
int
值中

类型_3BYTE_BGR不存储颜色的ALPHA分量。它只使用3个字节的
int

与类型_USHORT_555_一样,RGB对颜色的每个红色、绿色和蓝色分量使用5位。由于它只使用5位,因此它的颜色数量将比类型\ INT \ u ARGB或类型\ u 3BYTE \ u BGR有限

ALPHA组件表示图像的透明度


同样,其他类型定义了不同的配色方案。

您是如何知道这一点的?其他类型呢?另外,
getPixel()
返回一个
int[]
数组。这如何与
TYPE_3BYTE_BGR
配合使用?
getPixel()
映射值,还是每个
字节都有一个
int
?你怎么知道的?其他类型呢?另外,
getPixel()
返回一个
int[]
数组。这如何与
TYPE_3BYTE_BGR
配合使用?
getPixel()
映射值,还是每个
字节都有一个
int