[Help] Java API usage
dbof10 opened this issue · comments
Daniel Lee commented
Thanks. I managed to run in on Android.
Given I have some swift code. Read a file from mac folder and listing some metadata tags
let url = URL(fileURLWithPath: "/Library/Desktop Pictures/Mojave.heic")
let source = CGImageSourceCreateWithURL(url as CFURL, nil)!
let metadata = CGImageSourceCopyMetadataAtIndex(source, 0, nil)!
let tags = CGImageMetadataCopyTags(metadata) as! [CGImageMetadataTag]
for tag in tags {
guard let name = CGImageMetadataTagCopyName(tag) as String?,
let value = CGImageMetadataTagCopyValue(tag) as? String
else {
continue
}
print(name, value)
}
let xmpData = CGImageMetadataCreateXMPData(metadata, nil)
let xmp = String(data: xmpData! as Data, encoding: .utf8)!
print(xmp)
Result
solar YnBsaXN0MDDSAQIDCFJhcFJzadIEBQYHUWxRZBAAEA+vEBAJDxMXGx8jJysvMzc7P0NH0woLDA0OBlFhUXpRaSO/1e+pmkOtXCNAcO7vOubr39MKCwwQERIjwCR6waUkDgEjQFRxqCKOFiAQAdMKCwwUFRYjwBD9rhazHK0jQFWVeASOHPgQAtMKCwwYGRojP/Y5sufHqXYjQFa0AsqauPAQA9MKCwwcHR4jQByrLle1Q...
hasXMP True
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 5.4.0">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:apple_desktop="http://ns.apple.com/namespace/1.0/">
<apple_desktop:solar>YnBsaXN0MDDSAQIDCFJhcFJzadIEBQYHUWxRZBAAEA+vEBAJDxMXGx8jJysvMzc7P0NH0woLDA0OBlFhUXpRaSO/1e+pmkOtXCNAcO7vOubr39MKCwwQERIjwCR6waUkDgEjQFRxqCKOFiAQAdMKCwwUFRYjwBD9rhazHK0jQFWVeASOHPgQAtMKCwwYGRojP/Y5sufHqXYjQFa0AsqauPAQA9MKCwwcHR4jQByrLle1Q0ojQFfTrJlEjnwQBNMKCwwgISIjQCosIaUkaXMjQFj665iNCEgQBdMKCwwkJSYjQEQ1M6yKWG0jQGAl9/0oOnIQBtMKCwwoKSojQEq3fAg86lUjQGbHdYIVQKoQB9MKCwwsLS4jQENlhTmRo54jQG0xpqQtmEYQCNMKCwwwMTIjQCYtyN+4LuAjQHBd8gjYH5IQCdMKCww0NTYjQBS9AVBLTq0jQHCnF6YrsxcQCtMKCww4OTojwBj+RNAElyYjQHE3Ep4ppowQC9MKCww8PT4jwChqWJ45PIQjQHGBIAOPErYQDNMKCwxAQUIjwEO+oq1pXr8jQHNWsnnMcWIQDdMKCwxERUYjwEpgaD9W8x8jQAFmmQWkBwAQDtMKCwxISQcjwEMGElBIUO0jQErBKblRzPgACAANABAAEwAYABoAHAAeACAAMwA6ADwAPgBAAEkAUgBZAGIAawBtAHQAfQCGAIgAjwCYAKEAowCqALMAvAC+AMUAzgDXANkA4ADpAPIA9AD7AQQBDQEPARYBHwEoASoBMQE6AUMBRQFMAVUBXgFgAWcBcAF5AXsBggGLAZQBlgGdAaYBrwGxAbgBwQHKAcwB0wHcAAAAAAAAAgEAAAAAAAAASgAAAAAAAAAAAAAAAAAAAeU=</apple_desktop:solar>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
How can I achieve it with java
HEIF heif = new HEIF();
heif.load(filename);
ImageItem primaryImage = heif.getPrimaryImage();