2

オープンソースの画像操作ツール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では黒一色の画像として表示されることにも注意してください)。

[この画像はどこにありますか???]

4

3 に答える 3

5

JPEGの色空間がRGBであることを確認してください。ブラウザは、他の色空間を好みません。

これを確認するには、ImageMagickidentifyコマンドを使用します

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は、convertコマンドラインで使用して、RGB色空間を強制的に使用できます。

それでも問題が解決しない場合は、identifyコマンドの出力全体を質問に貼り付けると、診断に非常に役立ちます。

于 2009-08-12T16:33:31.700 に答える
1

次のコマンドを使用して、cmykをrgbに変換できます。

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

cmyk_image.jpgを変換します-colorspacergbrgb_image.jpg

于 2011-04-12T11:00:59.613 に答える
0

gb1981の答えはOKですが、追加する必要があります。私にとっては、追加する場合にのみ確実に機能します-type truecolor

convert cmyk.jpg -colorspace rgb -type truecolor rgb.jpg
于 2012-07-14T08:12:08.457 に答える