thinkphp图像处理thumb处理上传IOS手机图片自动翻转90度
现象:http://www.thinkphp.cn/topic/34280.html
解决此问题要开启php exif和mbstring两个模块 phpstudy开启很简单 Linux开启这个简直是变态。。。我反正是开不起来了 以后有钱请个linux专家来开吧!
网上搜的方法基本都是windows 你重启了就报错 麻痹坑爹
iOS拍摄的图片提供了EXIF信息,Orientation值为6即顺时针90度,有了这个信息我们只需要逆时针旋转90度即可。
伪代码
//下面是php的伪代码
$exif = exif_read_data($image_file);//获取exif信息
if (isset($exif[‘Orientation’]) && $exif[‘Orientation’] == 6) {
//旋转 imagerotate($img,-90,0); 旋转-90度矫正
//具体旋转参数 php图像旋转,图片旋转(逆时针90或者顺时针90) 如下
}
Orientation旋转角度
1:0°,6:顺时针90°, 8:逆时针90°,3:180°
function flip($filename,$src,$degrees = 90)
{
//读取图片
$data = @getimagesize($filename);
if($data==false)return false;
//读取旧图片
switch ($data[2]) {
case 1:
$src_f = imagecreatefromgif($filename);break;
case 2:
$src_f = imagecreatefromjpeg($filename);break;
case 3:
$src_f = imagecreatefrompng($filename);break;
}
if($src_f=="")return false;
$rotate = @imagerotate($src_f, $degrees,0);
if(!imagejpeg($rotate,$src,100))return false;
@imagedestroy($rotate);
return true;
}
//旋转
flip('/images/'.$picstart.'_max600'.$picend,'/images/'.$picstart.'_max600'.$picend,'-90'); 参数1 - 图片路径 参数2 - 保存图片的路径 参数3 - 旋转角度