2012-04-16 3 views
10

EXIF/IPTCデータが保存されている画像に問題があります。
imageCreateFromJpeg(回転/クロップなど)を使用すると、新しく保存されたファイルはEXIF/IPTCデータを保持しません。イメージをコピーし、EXIF/IPTCデータをPHP imageCreateFromJpegで保存しますか?

私の現在のコードは次のようになります。

<?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. 
?> 

私が何か間違ったことをやっていますか?

答えて

7

あなたは間違っているわけではありませんが、GDはIPTCデータのExifをGDの範囲外のものとして扱っていません。

サードパーティライブラリやその他のPHP拡張機能を使用して、ソースイメージからデータを読み込み、imagejpegで作成された出力イメージに再度挿入する必要があります。 pel (php exif library)、あなたが望むものphp metadata toolkitiptcembed() functionを行う方法にuse pel示すphp.netに例:ここでは

は、関心のあるいくつかのライブラリです。

+0

Ahh ...つまり、EXIF/IPTCデータをコピーして新しいイメージに保存する必要がありますか? – tftd

+2

イメージを作成する前または後に、ソースイメージからメタデータを抽出する必要があります。 'imagejpeg'を使用して最終イメージを出力するので、イメージを保存した後に最終イメージに書き込む必要があります。 – drew010

+0

助けてくれてありがとう: – tftd

関連する問題