2012-04-16 17 views
10

मुझे ऐसी छवि के साथ कुछ समस्याएं हैं जिनमें EXIF ​​/ IPTC डेटा संग्रहीत है।
जब मैं imageCreateFromJpeg (घुमाने/फसल या आदि) का उपयोग करता हूं तो नई संग्रहीत फ़ाइल EXIF ​​/ IPTC डेटा को सुरक्षित नहीं करती है।एक छवि कॉपी करें और PHP छवि के साथ अपने EXIF ​​/ IPTC डेटा को सुरक्षित करें CreateFromJpeg?

मेरे वर्तमान कोड इस तरह दिखता है:

<?php 
// Before executing - EXIF/IPTC data is there (checked) 
$image = "/path/to/my/image.jpg"; 
$source = imagecreatefromjpeg($image); 
$rotate = imagerotate($source,90,0); 
imageJPEG($rotate,$image); 
// After executing - EXIF/IPTC data doesn't exist anymore. 
?> 

Am मैं कुछ गलत कर?

उत्तर

7

आप कुछ भी गलत नहीं कर रहे हैं, लेकिन जीडी आईपीटीसी डेटा के एक्फ के साथ सौदा नहीं करता है, जो कि जीडी के दायरे से परे है।

आपको स्रोत छवि से डेटा पढ़ने के लिए किसी तृतीय पक्ष लाइब्रेरी या अन्य PHP एक्सटेंशन का उपयोग करना होगा और इसे imagejpeg द्वारा बनाई गई आउटपुट छवि में दोबारा डालना होगा। pel (php exif library), php.net पर एक उदाहरण है कि कैसे करने के लिए use pel आप क्या चाहते हैं, php metadata toolkit, iptcembed() function करने के लिए दिखा:

यहाँ ब्याज की कुछ पुस्तकालय हैं।

+0

आह ... तो दूसरे शब्दों में मुझे EXIF ​​/ IPTC डेटा और नई छवि में स्टोर करना होगा? – tftd

+2

छवि बनाने से पहले या बाद में सही, आपको स्रोत छवि से मेटा डेटा निकालना होगा। चूंकि आप अंतिम छवि को आउटपुट करने के लिए 'imagejpeg' का उपयोग कर रहे हैं, इसलिए इसे सहेजने के बाद आपको इसे अंतिम छवि में लिखना होगा। – drew010

+0

मदद के लिए धन्यवाद :) – tftd