Мне нужно добавить метаданные во время создания png, что я делаю следующим образом:
private byte[] createData(BufferedImage image, String metaData, float dpi) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
final int width = image.getWidth();
final int height = image.getHeight();
final boolean alphaChannel = image.getAlphaRaster() != null;
ImageInfo imageInfo = new ImageInfo(width, height, 8, alphaChannel);
PngWriter writer = new PngWriter(bos, imageInfo);
writer.getMetadata().setText("mykey", "xxxx");
writer.getMetadata().setDpi(dpi);
convertToRGB(image, writer);
writer.end();
return bos.toByteArray();
}
При немедленном чтении его обратно значение с этим ключом не найдено: PngReader reader = new PngReader (is);Строка mrv = reader.getMetadata (). GetTxtForKey ("mykey")
Однако метаданные Pdi установлены.Использование чего-то известного вместо моего ключа, например PngChunkTextVar.KEY_Comment, тоже не помогает.Я отладил запись и, и в writer.end () там есть значение с моим ключом.
Что я делаю не так?Как заставить это работать?