码迷,mamicode.com
首页 > Web开发 > 详细

一些浏览器智能翻转图片,php判断并复制(覆盖)带有Orientation图片翻转信息的JPEG图片

时间:2017-01-20 13:03:12      阅读:276      评论:0      收藏:0      [点我收藏+]

标签:public   手动   type   copy   inf   window   get   覆盖   判断   

/**
* 处理带有Orientation图片翻转信息的JPEG图片
* param $imagePath 图片资源路径
* param $dscPath 目标路径
* 照片中EXIF Orientation 参数让你随便照像但都可以看到正确方向的照片而无需手动旋转(前提要图片浏览器支持,Windows 自带的不支持)
*
* */
public static function delImgOrientation($imagePath, $dscPath = null)
{
/* exif_imagetype($imagePath)返回2为JPGE,为可能数码相机拍摄的照片
,可能包含Orientation信息, 先判断图片资源存在且为JPEG*/
if (!file_exists($imagePath) || exif_imagetype($imagePath) != 2) {
return false;
}
//$exifInfo[‘Orientation‘]值1为不旋转 3为旋转180度 6为顺时针90度 8为逆时针90度
$exifInfo = @read_exif_data($imagePath, ‘EXIF‘, 0);//获取图片的exif信息
if ($exifInfo && in_array($exifInfo[‘Orientation‘], array(3, 6, 8))) { //如果图片Orientation翻转,拷贝图像
$size = getimagesize($imagePath);
$weight = $size[0];
$height = $size[1];
$dstImg = @imagecreatetruecolor($weight, $height);//创建目标图像
$srcImg = @imagecreatefromjpeg($imagePath);//读取源图像
imagecopy($dstImg, $srcImg, 0, 0, 0, 0, $weight, $height);//复制图像
$dscPath = isset($dscPath) ? $dscPath : $imagePath;//如未设置目标图片路径覆盖原图片
imagejpeg($dstImg, $dscPath);//输出图片(覆盖原图片)
imagedestroy($dstImg);//释放图像内存
imagedestroy($srcImg);
}
}

 

//转载请注明出处

一些浏览器智能翻转图片,php判断并复制(覆盖)带有Orientation图片翻转信息的JPEG图片

标签:public   手动   type   copy   inf   window   get   覆盖   判断   

原文地址:http://www.cnblogs.com/hellozg/p/6322327.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!