我使用PythonMagick縮放和旋轉一些JPEG。理想情況下,我也可以更新EXIF Orientation標籤。但是,雖然我可以檢索此標記的值,但似乎無法修改它。試想一下:如何更改EXIF方向標籤(最好使用PythonMagick)?
from PythonMagick import Image
i = Image("image.jpg")
print i.attribute("EXIF:Orientation")
i.attribute("EXIF:Orientation", "5")
i.write("image-modified.jpg")
運行此顯示圖像的原始方向:
[email protected]:/tmp$ python broken.py
6
[email protected]:/tmp$
而且,只要它不是5,首先,exiftool將證明,新的文件一直沒有其調整方向:
[email protected]:/tmp$ exiftool image.jpg | grep Orient
Orientation : Rotate 90 CW
[email protected]:/tmp$ exiftool image-modified.jpg | grep Orient
Orientation : Rotate 90 CW
[email protected]:/tmp$
爲什麼ImageMagick不寫出修改的方向?我怎樣才能得到它?
我寫我自己的圖像代碼,所以我不熟悉imagemagick或pythonmagick,但你要做的事情很簡單。既然你不添加或刪除一個EXIF標籤,你只是在原地改變它的值,那麼爲什麼不把它作爲二進制文件讀取,修改需要修改的單字節並將其寫回呢?有問題的標籤(0x112)很容易用很少的代碼找到。 – BitBank 2012-01-11 19:19:07
我當然可以,但是我希望我不需要解釋爲什麼我會**更喜歡找到一個具有高級API的庫來處理這個問題。 – 2012-01-12 03:03:09
我明白你的動機,如果我可以自己編寫代碼,我只是厭惡使用額外的庫/圖層,因爲你總是遇到干擾你的項目的限制或錯誤。 – BitBank 2012-01-12 15:29:10