簡體   English   中英

Java:使用javax.imageio.ImageIO.read()加載未索引的png圖像(如BufferedImage.TYPE_4BYTE_ABGR)。

[英]Java: Loading png images without indexing (as BufferedImage.TYPE_4BYTE_ABGR), using javax.imageio.ImageIO.read()

我正在嘗試使用javax.imageio.ImageIO.read()方法加載PNG圖像。 但是,我希望結果類型為“ BufferedImage.TYPE_4BYTE_ABGR”,但最終以索引圖像形式出現(“ BufferedImage.TYPE_BYTE_INDEXED”)。 在原始圖像建立索引后,有什么方法可以將圖像加載為未建立索引? 大約有120張圖像,因此將它們全部手工索引都將花費太長時間。

如果您不反對使用JAI,則可以為RenderedImage創建一個渲染鏈(BufferedImage實現該接口)並將格式操作添加到鏈中:

JAI.create(“ format”,...)操作,帶有帶有JAI.KEY_REPLACE_INDEX_COLOR_MODEL鍵的呈現提示。

純ImageIO方法是創建所需類型的新BufferedImage並將從ImageIO.read中加載的圖像繪制到新的BufferedImage中:

BufferedImage image = ImageIO.read(inputFile);
BufferedImage convertedImage = new BufferedImage(image.getWidth(), 
    image.getHeight(), BufferedImage.TYPE_4BYTE_ABRG);
convertedImage.createGraphics().drawRenderedImage(image, null);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM