我有一個顏色索引的TIFF圖像(8位),我想將其轉換爲RGB 24位圖像(未編入索引)。將有什麼辦法做到這一點?如何將索引圖像轉換爲Java中的RGB圖像?
我正在使用JMagick。在一個奇怪的方式,它工作正常進行索引8位圖像是灰度當我使用:
image.transformRgbImage(info.getColorspace());
即使圖像,雖然沒有收錄任何更多的,仍然是8位之後,這是幸運的因爲它是灰度級的,實際上應該是8位。奇怪的是transformRgbImage()執行,儘管我希望它將圖像轉換爲24位。無論如何...
同樣的方式不適用於顏色索引8位圖像。我只是不知道如何使用JMagick API來實現這一目標。我試着設置:
image.setDepth(24);
或:
info.setDepth(24);
但無論結果在EXCEPTION_ACCESS_VIOLATION。當我設置:
info.setDepth(32);
不發生異常,1),但是該圖像是32位,這不應該,和2)它是全黑(1種獨特的顏色)。爲什麼setDepth(24)會引發這樣的異常?我應該怎麼做?
在此先感謝您的幫助。
你的圖像是否具有透明度? 24位和32位之間的唯一區別是透明度。索引圖像也支持透明度(透明像素的一個索引)。 – vadimvolk
我認爲不是...我得到的唯一軟件是GIMP,它不會像背景那樣將背景顯示爲檢查圖案,就像它會爲透明通道一樣。另外,我的圖像是一個TIFF。 TIFF不能有透明色,可以嗎? – Erwann