BufferedImage的文檔非常簡潔。BufferedImage的不同類型是什麼意思?
不同類型的含義是什麼?當我撥打TYPE_INT_ARGB
致電getPixel()時,我該回復什麼?與類型爲TYPE_3BYTE_BGR
時返回的內容有什麼不同?其他類型呢?
BufferedImage的文檔非常簡潔。BufferedImage的不同類型是什麼意思?
不同類型的含義是什麼?當我撥打TYPE_INT_ARGB
致電getPixel()時,我該回復什麼?與類型爲TYPE_3BYTE_BGR
時返回的內容有什麼不同?其他類型呢?
TYPE_INT_ARGB使用整數保存像素的顏色,像
int color = 0xAARRGGBB,
但3BYTE_BGR使用
byte[] color = new byte[Blue, Green, Red]
我建議使用INT_ARGB,您可以使用Alpha,在3BYTE有沒有通道α。 Integer是更快的,不是字節,易陣列,例如得到任何顏色的使用:
(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(如果我不需要阿爾法)
類型代表像素顏色類型。
與TYPE_INT_ARGB類似,ALPHA組件使用8位,RED組件使用8位,GREEN組件使用8位,BLUE顏色組件使用8位。所以像素顏色可以存儲在int
的值中。
TYPE_3BYTE_BGR不存儲顏色的ALPHA分量。它僅使用3個字節的int
值。
與TYPE_USHORT_555_RGB類似,每個顏色的RED,GREEN和BLUE分量使用5位。由於它僅使用5位,所以其顏色數量將比TYPE_INT_ARGB或TYPE_3BYTE_BGR的數量有限。
ALPHA組件表示圖像是如何透明的。
同樣,其他類型定義了不同的配色方案。
你怎麼知道這個?其他類型呢? –
另外,'getPixel()'返回一個'int []'數組。這是如何與'TYPE_3BYTE_BGR'一起工作的? 'getPixel()'映射值還是每個'byte'都得到一個'int'? –