我使用Ubuntu上的F-Spot來旋轉一些照片(JPEG文件),然後將其FTP到我的網站。這似乎工作得很好。但是,如果這些圖像在Web瀏覽器中打開,它們不會顯示爲旋轉。如果我將它們下載到Windows Vista機器,並在那裏使用任何標準程序打開它們,也不會。我懷疑F-Spot通過修改exif數據或類似物來旋轉圖像,而不是通過實際旋轉圖像。使用PHP或Perl來正確旋轉JPEG圖像
所以我想一個小功能,將我的網絡服務器(例如,PHP或Perl),將接受的文件路徑的數組,檢查圖像,並旋轉那些需要旋轉,覆蓋原文件上運行。
我知道一些PHP,但沒有Perl。
在查詢這個問題是否已經被問到的過程中,我遇到了一些想法。經過一些試驗和錯誤之後,我可能能夠使用glob(),exif_read_data()和imagerotate()將某些東西揉合在一起。我明天再試。但現在我要去睡覺了。
只是一個提示:您的結束語使人們想要將您的問題關閉爲「不再相關」,並可能阻止答案,因此您可能希望下次省略。 :) – Ether 2009-11-11 23:53:29
只需使用ImageMagick附帶的命令行'convert'實用程序來旋轉圖像並將其上傳到您的站點,而不是編寫服務器端解決方案。請注意,提供的兩個答案都會在每次訪問時旋轉圖像。如果每次訪問圖像時都要用旋轉的圖像替換原始文件,效果會很有趣*。 – 2009-11-12 03:37:32
澄清:感謝您對旋轉圖像的幫助。但是,我真正需要幫助的是檢查圖像以確定哪些圖像需要旋轉。我真的很想要一個服務器端的解決方案,因爲我的筆記本電腦花了大部分時間上傳所有這些圖像,我不喜歡這樣做。 顯然,圖像中有一些標誌,告訴F-Spot顯示它們旋轉。我怎樣才能找到那個標誌並只旋轉圖像呢?我將在exif數據中查找它,但函數exif_read_data()的php手冊看起來並不樂觀。 – TRiG 2009-11-12 09:59:05