某些浏览器无法查看ImageMagick缩略图

时间:2009-08-12 16:16:52

标签: image-processing imagemagick

我们正在使用开源图像处理工具ImageMagick来获取各种文件的缩略图。我们认为所有这些都运行得非常顺利,直到我们意识到某些浏览器(即Internet Explorer 8和Chrome)无法显示JPEG文件。

我只能假设ImageMagick转换的输出不是Web安全的JPEG。为什么会出现这种情况,是否可以修复?

顺便说一句,我们正在使用命令行工具convert,我们正在使用这些参数:

convert -thumbnail 150x fileToThumb outputPath

编辑:

Image: 50afd2b1-e42c-4e90-9244-9c5a00c1933d.jpg
  Format: JPEG (Joint Photographic Experts Group JFIF format)
  Class: DirectClass
  Geometry: 150x212+0+0
  Resolution: 72x72
  Print size: 2.08333x2.94444
  Units: PixelsPerInch
  Type: ColorSeparation
  Endianess: Undefined
  Colorspace: CMYK
  Depth: 8-bit
  Channel depth:
    cyan: 8-bit
    magenta: 8-bit
    yellow: 8-bit
    black: 8-bit
  Channel statistics:
    cyan:
      min: 0 (0)
      max: 255 (1)
      mean: 28.492 (0.111734)
      standard deviation: 61.879 (0.242663)
      kurtosis: 5.32422
      skewness: 2.47138
    magenta:
      min: 0 (0)
      max: 255 (1)
      mean: 43.5579 (0.170815)
      standard deviation: 72.7733 (0.285386)
      kurtosis: 1.31682
      skewness: 1.57362
    yellow:
      min: 0 (0)
      max: 255 (1)
      mean: 53.0706 (0.20812)
      standard deviation: 85.3198 (0.334587)
      kurtosis: -0.0841614
      skewness: 1.2581
    black:
      min: 0 (0)
      max: 52 (0.203922)
      mean: 0.149434 (0.000586016)
      standard deviation: 1.78161 (0.00698672)
      kurtosis: 364.996
      skewness: 17.91
  Image statistics:
    Overall:
      min: 0 (0)
      max: 255 (1)
      mean: 25.054 (0.098251)
      standard deviation: 61.3102 (0.240432)
      kurtosis: 5.28177
      skewness: 2.5304
  Total ink density: 300%
  Rendering intent: Undefined
  Interlace: None
  Background color: white
  Border color: cmyk(223,223,223,0)
  Matte color: grey74
  Transparent color: black
  Page geometry: 150x212+0+0
  Dispose: Undefined
  Iterations: 0
  Compression: JPEG
  Quality: 92
  Orientation: Undefined
  Properties:
    create-date: 2009-08-17T11:38:16+01:00
    jpeg:colorspace: 4
    jpeg:sampling-factor: 1x1,1x1,1x1,1x1
    modify-date: 2009-08-17T11:37:48+01:00
    signature: f5e85add196c10f1d73f416482e779245595a644877696fffb2637b5b97f6b9c
  Artifacts:
    verbose: true
  Tainted: False
  Filesize: 20.5kb
  Number pixels: 31.1kb
  Version: ImageMagick 6.5.3-10 2009-06-19 Q16 OpenMP http://www.imagemagick.org

以下是识别输出(也注意到此JPEG图像在Mac上显示为纯黑色图像):

[这张图片在哪里???]

3 个答案:

答案 0 :(得分:5)

检查JPEG的色彩空间是否为RGB,浏览器不会喜欢任何其他色彩空间。

要检查它,请使用ImageMagick识别命令

identify -verbose path/to/jpeg.jpg

输出应该像这样开始(通常大约50行)

  Format: JPEG (Joint Photographic Experts Group JFIF format)
  Class: DirectClass
  Geometry: 467x330+0+0
  Type: TrueColor
  Endianess: Undefined
  Colorspace: RGB        <----you are looking for this
  Depth: 8-bit
  ...

如果您有不同的色彩空间(例如CMYK),则可以在转换命令行中使用-colorspace RGB来强制使用RGB色彩空间。

如果这没有帮助,您可能希望将识别命令的整个输出粘贴到您的问题中,因为这将极大地帮助诊断。

答案 1 :(得分:1)

您可以使用以下命令将cmyk转换为rgb

http://imagemagick.org/Usage/formats/#color_profile

  

转换cmyk_image.jpg -colorspace   rgb rgb_image.jpg

答案 2 :(得分:0)

g.b.1981答案没问题,但我必须补充一下:对我来说,只有在添加-type truecolor时它才能正常工作:

convert cmyk.jpg -colorspace rgb -type truecolor rgb.jpg