使用 IOS6 的 safari 移动浏览器,文件上传功能让用户可以选择拍照。不幸的是,在拍摄照片时,虽然照片拇指正确显示在浏览器中,但当您上传到服务器时,文件会旋转 90 度。这似乎是由于 iphone 设置的 exif 数据。我有通过在服务时旋转图像来固定方向的代码。但是,我怀疑保存旋转的、正确定向的图像会更好,这样我就不必再担心方向了。我的许多其他照片甚至都没有 exif 数据,如果可以避免的话,我不想弄乱它。
任何人都可以建议代码来保存图像以使其正确定向吗?
这是旋转图像的代码。以下代码将显示正确定向的图像,但是,我要做的是保存它,以便我可以随时提供它而无需担心方向。
另外我想替换impagejpeg
下面代码中的调用,以便任何代码都适用于 gif 和 jpg。
感谢您的建议/代码!
PHP
//Here is sample image after uploaded to server and moved to a directory
$target = "pics/779_pic.jpg";
$source = imagecreatefromstring(file_get_contents($target));
$exif = exif_read_data($target);
if(!empty($exif['Orientation'])) {
switch($exif['Orientation']) {
case 8:
$image = imagerotate($source,90,0);
//echo 'It is 8';
break;
case 3:
$image = imagerotate($source,180,0);
//echo 'It is 3';
break;
case 6:
$image = imagerotate($source,-90,0);
//echo 'It is 6';
break;
}
}
// $image now contains a resource with the image oriented correctly
//This is where I want to save resource properly oriented instead of display.
header('Content-type: image/jpg');
imagejpeg($image);
?>