我一直在試圖找到一種方法來寫入元數據到PNG,我已經嘗試了很多。我如何寫入元數據到PNG圖片
我可以使用使用pngj庫讀取數據:
PngReader pngr = new PngReader(file);
pngr.readSkippingAllRows(); // reads only metadata
for (PngChunk c : pngr.getChunksList().getChunks()) {
if (!ChunkHelper.isText(c)) continue;
PngChunkTextVar ct = (PngChunkTextVar) c;
String key = ct.getKey();
String val = ct.getVal();
System.out.print(key + " " + val + "\n");
}
pngr.close();
而且它的偉大工程。但我需要寫信給它。
我曾嘗試:
public boolean writeCustomData(String key, String value) throws Exception {
PngReader pngr = new PngReader(currentImage);
PngWriter png = new PngWriter(new FileOutputStream(currentImage), pngr.imgInfo);
png.getMetadata().setText(key, value);
return true;
}
但這沒什麼。
而且我使用的答案從Writing image metadata in Java, preferably PNG
這工作(有點)試過,但我讀功能無法看到它。
這樣我們需要提供一個目標文件,如果我想將元數據寫入到創建新文件的同一個文件中,該怎麼辦? –
@AnkeshkumarJaisansaria你寫入其他文件並重新命名。相信我,沒有別的辦法。 – leonbloy
好的..謝謝你真的很喜歡你的答案。 –