
我有一組來自同一來源的 .jpg 圖像,它們似乎都表現良好:我可以使用 eog/Kolourpaint/GIMP 打開/編輯它們,它們的縮圖在 Nautilus 中正確加載,等等。
但是,當我嘗試上傳這些圖像(例如透過網頁瀏覽器上傳到Tumblr)時,其中一張(且只有一張)無法在Nautilus 檔案上傳瀏覽器中預覽,並且當我嘗試上傳此檔案時,Tumblr 返回錯誤。
哪些類型的問題會導致正常的 jpeg 映像無法在 Nautilus 檔案上傳瀏覽器中預覽?
答案1
這並不能直接回答你的問題,但處理“輕微損壞”圖像的方法是轉換襟翼...
$ convert broken.jp cbroken.png
$ convert cbroken.png good.jpg
我發現影像處理工具對於規範合規性有不同的容忍度。根據我的經驗,Convert 既非常寬容又順從。
答案2
根據 sthysel 的建議,我將損壞的 jpeg 轉換為 png,這揭示了問題,並且還為我提供了一個可以在 jpeg 位置上傳的功能性 png。
$ convert bad.jpg okay.png
convert: Premature end of JPEG file `bad.jpg' @ warning/jpeg.c/EmitMessage/228.
convert: Corrupt JPEG data: premature end of data segment `bad.jpg' @ warning/jpeg.c/EmitMessage/228.
看看 bad.jpg 的實際內容,它顯然缺少 EOF 位元組:
000d330: 8cbd e32f f164 95a4 4827 54e0 1264 8807 .../.d..H'T..d..
000d340: 8436 479f cd1e afa4 d9e3 0a .6G........
所以我用必要的位元組填充了文件,這也修復了 jpeg。
000d330: 8cbd e32f f164 95a4 4827 54e0 1264 8807 .../.d..H'T..d..
000d340: 8436 479f cd1e afa4 d9e3 3fff d90a .6G.......?...
答案3
過去造成我相容性問題的兩件事是:
- 以 jpeg 格式儲存的預覽 - 停用儲存預覽(如果軟體支援)
- 儲存為 jpeg 的 CMYK 映像 - 在儲存之前轉換為 RGB 或將副本匯出為 RGB