Я пишу и редактирую метаданные в таких файлах, как PNG и JPG, используя commons-imaging , как показано ниже,
// Create output dir, where is gonna be the new file with new metadata
final File outputDir = context.getCacheDir();
File outputFile = new File(outputDir, image.getName());
// Get xml with tags from JPG file
final String xmpString = Imaging.getXmpXml(image);
// Replace one word from the already known values, test ---> anyword
final String newXmpString = xmpString.replace("test", "anyword");
// Use this new xmp xml, on the output file.
new JpegXmpRewriter().updateXmpXml(new ByteSourceFile(image), new BufferedOutputStream(new FileOutputStream(outputFile)), newXmpString);
После этого я должен заменить выходной файл для оригинала, перемещая его. И это работает. Для PNG все по-другому, но почти одинаково.
Я действительно не знаю, как читать и записывать метаданные из файлов DNG.
PD: я пробовал с другими библиотеками, такими как экстрактор метаданных , где мне удается прочитать почти все виды тегов, но я не могу написать ни одного. ExifInterface на android утверждает, что читает и пишет DNG, а также PNG, но я не смог этого сделать.
Любое предложение? Я в отчаянии!
Большое спасибо!