views:

248

answers:

1

We are using the open source image manipulation tool ImageMagick to take thumbnails of various files. We thought things were running pretty smoothly with all this, until we realized that some browsers (namely Internet Explorer 8 and Chrome) were unable to display the JPEG files.

I can only assume that the output of the ImageMagick conversions are not web safe JPEGs. Why is this the case, and can it be fixed at all?

Incidentally, we are using the command line tool convert and we are using these parameters:

convert -thumbnail 150x fileToThumb outputPath

EDIT:

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

Here is the identify output (also noticed that this JPEG image displays as a solid black image on the Mac):

[Where is this image ???]

+4  A: 

Check that the colorspace of the JPEG is RGB, browsers won't like any other colorspace.

To check it, use the ImageMagick identify command

identify -verbose path/to/jpeg.jpg

The output should start off like this (it's about 50 lines long typically)

  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
  ...

If you've got a different colorspace (e.g. CMYK), you can use -colorspace RGB in your convert command line to force the RGB colorspace to be used.

If that does not help, you might want to paste the entire output of the identify command into your question as that will greatly aid diagnosis.

Paul Dixon
Cheers Paul, looked at the conversion results and it is stating that the file is RBG and has a Depth of 8-bit (as per your example).
Owen
ok, well I suggest pasting the output of identify into your question, maybe more clues there.
Paul Dixon
Added an edit with the identify info, cheers.
Owen
Nevermind, just realized that this image IS displaying CMYK. I think i looked at one that was actually working correctly, hence it was showing RGB. Thanks for the help.
Owen