2014-01-13 21 views
0

我已經通過ImageMagick的Windows機器上被重採樣圖像。大多數工作正常,但有一個或兩個圖像,不會加載任何Android設備上。我認爲這是我的Java應用程序代碼已被破壞,但我可以在Android設備上的Chrome中重現它。JPG Android中並不只加載

加載圖像在iOS/PC/Mac的罰款纔剛剛不是Android。它在10Kb的數據中只有320x44像素,並且沒有看到任何錯誤信息,任何人都可以在我使用imagemagick實現它的工作方式時明白我可能做了什麼(或者我錯過了哪些步驟)?

這裏的鏈接到JPG

http://gatherhelp.com/tests/corruptjpg/broken.jpg

UPDATE我使用「查爾斯」從電話攔截網絡流量,並查看該請求,並且也表明我確實被傳遞作爲對來自android的這個URL的響應的白色圖像。

我使用PHP的服務器上,但JPG文件不被處理,只是直接通過文件送達

+0

你有嘗試的任何代碼。?? –

+0

不需要任何代碼,只需在瀏覽器中打開即可。我在我的代碼中使用Java和ObjectiveC來加載它,但我不認爲這很重要,因爲我可以通過將URL加載到手機上的Web瀏覽器中來重現錯誤。 – sradforth

+0

表示你想在瀏覽器中顯示該圖像..? –

回答

3

我知道這是一種欠佳回答你自己的問題,但萬一這會有所幫助別人...... 看起來問題在於我轉換了一些PSD和其他文件,這些文件原本是用於打印的,並且具有CMYK顏色格式而不是RGB。

要了解這一點我使用ImageMagick的識別命令,這樣做,

Identify -verbose broken.jpg 

Image: broken.jpg 
    Format: JPEG (Joint Photographic Experts Group JFIF format) 
    Class: DirectClass 
    Geometry: 256x256+0+0 
    Resolution: 250x250 
    Print size: 1.024x1.024 
    Units: PixelsPerInch 
    Type: ColorSeparation 
    Endianess: Undefined 
    Colorspace: CMYK 
    Depth: 8-bit 

這表明使用的色彩空間是CMYK讓對方破圖像的快速測試顯示,他們都有同樣的問題。 又對他們的ImageMagick轉換爲搶救和使用

convert broken.jpg -colorspace RGB fixed.jpg 

所以它出現的iOS/PC/Mac電腦CMYK而Android不出現或全部支持JPEG格式,至少不是所有的CMYK圖像(安卓4.2)

+0

[回答你自己的問題](http://stackoverflow.com/help/self-answer)並沒有被認爲是可憐的形式,它可能會幫助其他人有同樣的問題。 – haraldK