Java BufferedImage類有一長串名爲圖像類型的類變量,可用作BufferedImage構造函數的參數。如何決定使用哪種BufferedImage圖像類型?
但是,Java文檔對這些圖像類型的用途做了最小限度的說明,它將如何影響要創建的BufferedImage。
我的問題是:
圖像類型如何會影響到BufferedImage中產生的呢?它是否控制用於存儲各種顏色(紅色,綠色,藍色)的位數及其透明度?
我們應該使用哪種圖像類型,如果我們只是想創建
- 不透明圖像
- 透明圖像
- 半透明圖像
我閱讀了Java Doc中的描述很多次,但只是無法弄清楚我們應該如何使用它。例如,這樣一句:
TYPE_INT_BGR
表示一個具有8位RGB顏色分量的圖像,對應於Windows或Solaris風格的BGR顏色模型,與顏色藍,綠,和紅色打包成整數像素。沒有阿爾法。該圖像有一個DirectColorModel。當具有非透明alpha的數據存儲在這種類型的圖像中時,必須將顏色數據調整爲非預乘形式,並丟棄alpha,如AlphaComposite文檔中所述。
什麼是半透明圖像?它與透明圖像有什麼不同? –
@AndyTurner我記得我讀過一些關於使圖像的一部分透明的地方,而半透明的是調整整個圖像的不透明度。例如,gif文件允許透明但不透明,而png文件支持兩者。這是一個可能需要使用不同圖像類型的示例。沒有? – user3437460