最新ios开发者同事反馈,iPhone拍的图片(竖着拍)上传接口获取的宽高和实际的宽高正好相反。本来为2448×3264(经过mac 显示简介查看的尺寸)的图片,接口返回是 3264×2448。而后php本地测试getimagesize() 发现就是 3264×2448。 在chrome或火狐或者是safari 查看图片时看起来是竖图且标签显示为 2448×3264, 可是在ie 11 都显示的为横图,属性显示为3264×2448。 后来通过查询资料发现,图片的exif信息中有一项为orientation表示方向。ie不识别这个方向。能够理解为实际它应该是一个横图,只是方向旋转了90度。(由于确定是想要视觉效果就是竖图)如今要想办法把它处理为一个 2448×3264 不带旋转的图片(效果和chrome等展现的同样),这样获取的宽高信息才算正确。(以前还尝试了 -strip把exif信息清理了,再用getimagesize获取仍是3264×2448。)php
今天开发APP端编辑器的时候,须要前端上传图片。可是发现个问题,IOS里拍的图片居然是HEIC后缀的,我擦,真是第一次见。而后问题就出现了,拍的照片传到服务器上,后台PHP 用的Imagemagic 读到的 宽高和图片显示出来在浏览器中打开看到的宽高是相反的!而后咱们这还要个加水印的操做,结果水印原本是加到右下角的,如今缺变到了左下角,看起来怪怪的。 而后百度了一下,发现正好有用户发了文章遇到了已有的问题。文章连接在最后前端
解决方案:ios
$srcResource = new Imagick(图片地址);
$srcResource->autoOrient();
复制代码
直接用autoOrient()转一下就能够chrome
我也是看了这篇文章才知道的: blog.pengduncun.com/?p=1125#com…浏览器