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 - 旋转角度