Java:使用javax.imageio.imageio.read()加载png图像而不编制索引(如buffereImage.TYPE_4BYTE_ABGR)

Java:使用javax.imageio.imageio.read()加载png图像而不编制索引(如buffereImage.TYPE_4BYTE_ABGR),java,bufferedimage,javax.imageio,Java,Bufferedimage,Javax.imageio,我正在尝试使用javax.imageio.imageio.read()方法加载PNG图像。但是,我希望得到的类型是“BufferedImage.type_4BYTE_ABGR”,但它最终会成为一个索引图像(“BufferedImage.type_BYTE_index”)。在对原始图像进行索引时,是否有任何方法将图像加载为未索引?大约有120个图像,因此手动将它们全部取消索引需要很长时间。如果您不反对使用JAI,可以为RenderImage创建一个渲染链(BuffereImage实现该接口),并向

我正在尝试使用javax.imageio.imageio.read()方法加载PNG图像。但是,我希望得到的类型是“BufferedImage.type_4BYTE_ABGR”,但它最终会成为一个索引图像(“BufferedImage.type_BYTE_index”)。在对原始图像进行索引时,是否有任何方法将图像加载为未索引?大约有120个图像,因此手动将它们全部取消索引需要很长时间。

如果您不反对使用JAI,可以为RenderImage创建一个渲染链(BuffereImage实现该接口),并向该链添加一个格式操作:

创建(“格式”,…)操作,带有一个带有JAI.key\u REPLACE\u INDEX\u COLOR\u MODEL键的呈现提示

纯ImageIO方法是创建所需类型的新BuffereImage,并将从ImageIO.read加载的图像绘制到新BuffereImage中:

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

当他试图将一种类型的PNG复制到另一种类型时,出现了问题。他之前介绍的代码示例可以在这里找到