获取iphone创建的图像电子邮件附件的方向

时间:2012-01-31 01:22:13

标签: php

当我使用GD图像库时缺少方向EXIF数据,在使用imagecreatefromstring()制作jpg文件之前,是否可以直接从原始数据字符串中获取数据?方向数据就在那里,因为当我在Chrome中查看gmail中的电子邮件时,它会显示正确的方向,但是一下载图像就会丢失数据。我也尝试使用exif_t​​humbnail来查看我是否可以从中找出方向,但缩略图也不见了。

如果我通过chrome下载附件,Windows图像查看器会将其显示为横向,但如果我将其上传到flickr,则会显示纵向,flickr用于确定方向的是什么?

编辑:解决了 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库! >:(

1 个答案:

答案 0 :(得分:0)

如果你真的像你说的那样使用GD库,你可以利用getimagesize()来检查图像的尺寸。如果宽度大于图像的高度,则可以安全地假设它是以横向模式拍摄的。

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

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