摘要:处理图片的,首先要在中开启和模块获取图像大小及相关信息,是图像的类型,函数可以用来读取图片的信息这样就好了,可以解决图片旋转的问题,欢迎大家多多指教
最近项目中发现一件很有意思的现象,H5上传图片,接口上传服务器保存,前端展示此图片正常,后台展示逆时针90°,后来知道了exif,通过exif信息查看器可以看到这张图片的方向。
简单介绍一下exif,一种图像文件格式,数据存储与JPEG格式是完全相同的,实际上Exif格式就是在JPEG格式头部插入了数码照片的信息。
php处理图片的exif,首先要在php.ini中开启mbstrig和exif模块
$imgInfo = getimagesize($upload_file["filename"]); //获取图像大小及相关信息,2是图像的类型,2 = JPG if($imgInfo[2] == 2) { $img2 = imagecreatefromjpeg($upload_file["filename"]); $exif = exif_read_data($upload_file["filename"]); //exif_read_data函数可以用来读取图片的exif信息 if(!empty($exif["Orientation"])) { switch($exif["Orientation"]) { case 8: $img2 = imagerotate($img2,90,0); imagejpeg($img2, $new_img); break; case 3: $img2 = imagerotate($img2,180,0); imagejpeg($img2, $new_img); break; case 6: $img2 = imagerotate($img2,-90,0); imagejpeg($img2, $new_img); break; } } imagedestroy($img2); // unlink($upload_file["filename"]); }
这样就好了,可以解决exif图片旋转的问题,欢迎大家多多指教!
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/51979.html
摘要:处理图片的,首先要在中开启和模块获取图像大小及相关信息,是图像的类型,函数可以用来读取图片的信息这样就好了,可以解决图片旋转的问题,欢迎大家多多指教 最近项目中发现一件很有意思的现象,H5上传图片,接口上传服务器保存,前端展示此图片正常,后台展示逆时针90°,后来知道了exif,通过exif信息查看器可以看到这张图片的方向。 简单介绍一下exif,一种图像文件格式,数据存储与JPEG格...
摘要:有些时候在端上传图片会遇到这种情况,正向的图片,上传预览时就被旋转了。在使用或者其他软件旋转图片时,图片旋转了,但不会改变,由于我们使用的图片预览器能够预处理图片,使其看起来与旋转后一致,但上传图片时,浏览器并不会预处理。 有些时候在web端上传图片会遇到这种情况,正向的图片,上传预览时就被旋转了。 showImg(https://segmentfault.com/img/bVbhxd...
阅读 3236·2021-11-24 10:43
阅读 4196·2021-11-24 10:33
阅读 3770·2021-11-22 09:34
阅读 2124·2021-10-11 10:58
阅读 3731·2021-10-11 10:58
阅读 859·2021-09-27 13:36
阅读 3578·2019-08-30 15:54
阅读 2965·2019-08-29 18:41