我調整使用Apache Sanselan這也與CMYK顏色涉及許多JPEG圖像。 我想轉換一個具有alpha通道JPEG圖像時,有一個問題...這樣做的時候,結果是用不同顏色的圖像,我想這莫名其妙的java處理這些類型的圖像爲不同的顏色格式。 正如我所說,RGB調整大小以及CMYK都可以正常工作。 ARGB圖像以不同的顏色顯示。的BufferedImage得到調整大小以不同的顏色
一個例子:
有什麼建議?我能否以某種方式強制忽略Alpha通道並將圖像作爲RGB圖像處理?或將其轉換爲RGB圖像而不會丟失真實的顏色?
處理這個圖片的代碼是:提前
ImageInputStream stream = ImageIO.createImageInputStream(file);
Iterator<ImageReader> iter = ImageIO.getImageReaders(stream);
while (iter.hasNext()) {
ImageReader reader = iter.next();
reader.setInput(stream);
BufferedImage image = null;
ICC_Profile profile = null;
try {
image = reader.read(0);
} catch (IIOException e) {
... (CMYK conversion if needed)
}
return image;
}
return null;
感謝
我想提一提的是,顏色多變無關與調整大小,讀入的BufferedImage和寫作使用ImageIO.write(BI,FORMATNAME,的TargetFile)的結果;輸出的[使用ImageIO.write JPG文件問題]不想要的結果 – Eyal
可能重複(http://stackoverflow.com/questions/4386446/problem-using-imageio-write-jpg-file) – Thilo