2014-06-24 4 views
5

मैं जेपीईजी और पीएनजी फाइलों में एक्सएमपी मेटाडेटा को पढ़ना/लिखना चाहता हूं।क्या छविमैगिक का उपयोग कर एक्सएमपी मेटाडेटा पढ़ने/लिखने का कोई तरीका है?

मैं exiftool

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

का उपयोग कर फिर भी ऐसा करने में समर्थ हूँ, मैं ImageMagick

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

मेरे कारण का उपयोग कर XMP मेटाडेटा लिखने के लिए वह यह है कि XMP मेटाडाटा पढ़ने में सक्षम नहीं कर रहा हूँ इसलिए इसे एडोब प्रोडक्ट्स द्वारा पढ़ा जा सकता है।

प्रश्न

  • वहाँ ImageMagick का उपयोग कर/लिखने XMP मेटाडेटा को पढ़ने के लिए एक तरीका है?
+0

विषय से बाहर है, लेकिन Adobe उत्पादों के साथ संगतता के एकमात्र कारण हेरफेर करना चाहते करने के लिए नहीं है एक्सएमपी मेटाडाटा। http://www.metadataworkinggroup.org/pdf/mwg_guidance.pdf – asp

+0

पीएनजी मेटाडेटा का समर्थन नहीं करता है -> http://stackoverflow.com/questions/9542359/does-png-contain-exif-data-like-jpg –

+0

यह केवल EXIF ​​मेटाडेटा के संबंध में है (हालांकि Exiftool और Exiv2 का वर्कअराउंड है)। पीएनजी का समर्थन करता है XMP मेटाडेटा https://en.wikipedia.org/wiki/Extensible_Metadata_Platform#Location_in_file_types * संपादित करें: * बाह, दिनांक जांच नहीं की – StarGeek

उत्तर

1

आप क्या पूछना चाहते हैं "क्या छवि मैगिक समर्थन XMP (वर्णनात्मक) मेटाडेटा पढ़ने या लिखने का समर्थन करता है?"। the documentation पढ़ने से, उस प्रश्न का उत्तर, नहीं है। ImageMagick एक फ़ाइल से सभी मेटाडाटा (लगभग) पढ़ता है, लेकिन वर्णनात्मक मेटाडेटा नहीं।

यदि किसी कारण से आपको XMP मेटाडेटा निकालने के लिए ImageMagick का उपयोग करना होगा, तो आप फ़िल्टर को शामिल करने का प्रयास कर सकते हैं। छवि फ़ाइलों को संसाधित करने के लिए Filters can be configured, लेकिन वे ImageMagick का हिस्सा नहीं हैं।

1

परिवर्तित -ping yourimage.jpg XMP: -

+0

धन्यवाद, मेरे लिए महान काम किया! ImageMagick 7 – Mark

+0

मेटाडेटा कैसे लिखें? –

0

पहुँच XMP डेटा के रूप में किया जा सकता है इस प्रकार है:

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. 
} 
संबंधित मुद्दे

 संबंधित मुद्दे