2014-06-24 39 views
5

JPEG ve PNG dosyalarında XMP meta verilerini okumak/yazmak istiyorum.imagemagick kullanarak XMP meta verilerini okuma/yazma için bir yol var mı?

Ben Ancak exiftool

~ $ exiftool -xmp-dc:description="FooBar" sample.png 
    1 image files updated 
~ $ exiftool sample.png | grep "Description" 
Description      : FooBar 

kullanarak bunu yapmak mümkün, ben olmasıdır XMP meta yazmak için imagemagick

~ $ identify -verbose sample.png | grep "Description" 

Benim nedenini kullanarak XMP Meta okumak mümkün değilim bu yüzden Adobe Ürünleri tarafından okunabilir.

Soru

  • imagemagick kullanarak/yazma XMP meta okumak için bir yolu var mı?
+0

ancak Adobe ürünleri ile uyumluluk işlemek istiyorum tek nedeni değildir XMP meta verileri. http://www.metadataworkinggroup.org/pdf/mwg_guidance.pdf – asp

+0

png meta verileri desteklemiyor -> http://stackoverflow.com/questions/9542359/does-png-contain-exif-data-like-jpg –

+0

Bu yalnızca EXIF ​​meta verileriyle ilgilidir (Exiftool ve Exiv2'nin bir çözümü vardır). PNG, XMP meta verilerini destekliyor https://en.wikipedia.org/wiki/Extensible_Metadata_Platform#Location_in_file_types * Düzenleme: * Bah, tarihleri ​​kontrol etmedim – StarGeek

cevap

1

Sormak istediğiniz şey "ImageMagick XMP (açıklayıcı) meta verilerini okuma veya yazma desteği veriyor mu?". Bu sorunun cevabı, the documentation okumasından, hayır. ImageMagick, bir dosyadaki tüm meta verileri (neredeyse) okur, ancak tanımlayıcı meta veriler içermez.

Bazı nedenlerle XMP meta verilerini ayıklamak için ImageMagick'i kullanmanız gerekiyorsa, bir filtre eklemeyi deneyebilirsiniz. Görüntü dosyalarını işlemek için Filters can be configured, ancak bunlar ImageMagick'in bir parçası değildir.

1

dönüştürme -ping yourimage.jpg XMP: -

Erişim XMP verileri olarak yapılabilir
+0

Teşekkürler, benim için harika çalıştı! ImageMagick 7 – Mark

+0

Meta veri nasıl yazılır? –

0

izler: Konu dışı

ImageMagick.XmpProfile xmp = image.GetXmpProfile(); 

Console.WriteLine("\n\n----> xmp:" + xmp); 
if (xmp != null) 
{ 
    you have to process the XML data of the XMPs result. 
    ie. use XPATH or some other XML interface. 
} 
İlgili konular