imagick處理IOS圖片寬高值相反的問題(帶旋轉方向的圖片)

最新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…瀏覽器

相關文章
相關標籤/搜索