2012-01-31 12 views
0

GD画像ライブラリを使用すると、EXIFデータが欠落しています.jpegファイルを作るためにimagecreatefromstring()を使用する前に、生データ文字列から直接データを取得できますか?オリエンテーションのデータはそこにあります。クロムのGmailの電子メールを見ると、適切な方向が示されますが、データが失われた画像をダウンロードすると直ぐに表示されるからです。私はexif_t​​humbnailを使って、その方向から方向を見つけ出すことができるかどうかを試してみましたが、サムネイルも欠落しています。iphoneで作成した画像の電子メールアタッチメントを取得

クロムを使って添付ファイルをダウンロードした場合、Windowsイメージビューアで表示されますが、Flickrにアップロードすると、それは縦書きで表示されます。

EDIT: createimagefromstringは、イメージファイルからのメタデータのトンを除去しますが、使用してfwriteのデータ列から、そのままファイルを作成し、それを解決したので、私はやったこの

$filename = 'pic.jpg'; 
$r = fopen($filename,'x'); 
fwrite($r,$raw_data); //$raw_data is the data string of the image 
fclose($r); 

出来上がりすべてexifデータはそこにありました!愚かなGDライブラリ! > :(

答えて

0

実際にあなたが言うようにGDライブラリを使用している場合は、getimagesize()を利用してイメージのサイズを確認できます。イメージの高さよりも大きい場合は、それは、風景モードで撮影された。

$params = getimagesize($image); 
$width = $params[0]; 
$height = $params[1]; 

if ($width > $height) { 
    $mode = "landscape"; 
} else if ($width < $height) { 
    $mode = "portrait"; 
} 
+0

iphoneについての事は、すべての画像が風景に作成され、デバイスの向きは、PICが撮影された。だから、getimagesize何であったかと言うEXIFフィールド「方向」はありますということです常にランドスケープイメージの値を返します。 – user467191

関連する問題