我想從手機上傳一些照片使用jQuery的移動和PHP,但上傳後,我的照片總是在橫向格式,即使我的照片是在我的iphone上的肖像格式!jquery移動定位上傳照片
所以我不知道哪一個必須旋轉或沒有。
謝謝
我想從手機上傳一些照片使用jQuery的移動和PHP,但上傳後,我的照片總是在橫向格式,即使我的照片是在我的iphone上的肖像格式!jquery移動定位上傳照片
所以我不知道哪一個必須旋轉或沒有。
謝謝
我有同樣的問題。我的解決方案有點快而骯髒,但在這裏你去:
編寫一個函數,當圖像加載時調用,檢查圖像是否要在橫向渲染。
$(".imgTile").load(function(){
if(this.width>this.height){
$(this).css("transform","rotate(90deg)");
$(this).css("top",".7em");
$(this).css("left","-.5em");
}
}
一對夫婦的筆記:我發現我不得不做一些重新定位,以獲得旋轉的圖像正確裝入列表視圖(頂部和左側的屬性,因此設置),所以你可能需要調整這個爲您的需求。其次,不同的瀏覽器有不同的CSS「變換」屬性,因此您可能需要設置每個屬性以支持跨瀏覽器。這裏是關於這些屬性的指南http://www.w3schools.com/cssref/css3_pr_transform.asp
編輯:我花了一些時間,想出了一個更穩固的解決方案。
首先,使用PHP讀取EXIF標籤:
$exif=exif_read_data("uploads/$fileExtension.jpg",0,true);
$orient=$exif["IFD0"]["Orientation"];
一些研究到EXIF標準顯示,這三個案件iPhone將產生如下:
1--不需要旋轉 3--需要180度。旋轉 6--要求90度。旋轉
然後使用PHP的了shell_exec運行下面的shell腳本,它使用imagemagick破壞EXIF頭和身體旋轉圖像指定金額:現在
#!/bin/bash
for i in $[filename]
do convert -rotate $[number of degrees] $i $i
done
mogrify -strip $[filename]
,圖像將被正確導向無處不在,並且讀取EXIF標頭的瀏覽器不會以任何不同的方式顯示它。
剩下要做的唯一事情就是根據標記值使用正確的參數執行腳本。
希望這會有所幫助!