使用 Java AWT 生成带有辅助块的单色 1bitpp PNG

Using Java AWT to generate monochrome 1bitpp PNG with Ancillary Chunks

我正在尝试使用以下辅助块生成 PNG(header 来自参考图像)

参考图像中的辅助块可能来自 GIMP 处理。

而我使用 Java AWT 生成的图像没有那些辅助块。
这是我生成的 PNG 的 header。请注意关键块是相同的。

这是代码片段

{
        :

        // The color map contains the colors black and white
        byte[] cMap = {0, 0, 0, (byte)255, (byte)255, (byte)255};
        // Create an IndexColorModel setting white as the transparent color
        IndexColorModel monochrome = new IndexColorModel(8, 2, cMap, 0, false, 0);
        BufferedImage img = new BufferedImage(width_img, height_img,
                  BufferedImage.TYPE_BYTE_INDEXED,monochrome);
        Graphics2D g2d = img.createGraphics();

        :           

        g2d.setColor(Color.WHITE);
        g2d.fillRect(0, 0, width_img, height_img);

        Font font = new Font("Arial Bold", Font.PLAIN, 48);
        g2d.setFont(font);
        FontMetrics fm = g2d.getFontMetrics();
        g2d.setColor(Color.BLACK);
        :
        :

        g2d.dispose();

        imgName = ".\Panel"+width_img+"x"+height_img+".png";
        ImageIO.write(img, "png", new File(imgName));
       :
}

如何使用 Java AWT 添加块(pHYs、tIME)?

任何指示也会有帮助-请告诉我。

谢谢

我断定 AWT 不支持 - 这个问题确定了几种添加块的方法 How can I save a PNG with a tEXt or iTXt chunk from Java?

这是我的建议 -

使用 AWT/Graphics 2D 生成 .PNG

阅读 PNG,请参阅 link 以获取详细信息

添加您要添加​​的块

将它(它们)写回 .PNG