﻿# 有特定格式的 JPEG 圖檔無法在 IE 瀏覽器中顯示

好久以前我就發現 IE 在讀取特定 JPEG 圖檔的時候會無法顯示，也就是會顯示俗稱的叉燒包 ( ![image](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/7ef6f54522f99b7c8b7a-image_5.png) )，但圖片下載回來後使用各式看圖工具都可以正常顯示，唯獨 IE 無法瀏覽，有幾次客戶在我們開發的網站後台上傳圖片發現前台都看不到，就急忙的打電話來說我們寫的程式有 Bug，真的是很冤望啊。

通常的作法都是用繪圖軟體將該圖檔打開，重新存檔一次就可以在 IE 看到了。在 IE/Firefox 中看不見圖片的真正原因出在於這些 JPEG 圖檔是用 [CMYK](http://zh.wikipedia.org/wiki/%E5%8D%B0%E5%88%B7%E5%9B%9B%E5%88%86%E8%89%B2%E6%A8%A1%E5%BC%8F) 模式存檔的，而 IE 只能讀取 [RGB](http://zh.wikipedia.org/w/index.php?title=%E4%B8%89%E5%8E%9F%E8%89%B2%E5%85%89%E6%A8%A1%E5%BC%8F&variant=zh-tw) 模式的圖檔，所以就會導致圖片無法開啟了。

如果你是用 Photoshop 的話，可以在存檔的時候選擇 Save for web 也可以將圖檔強制轉成 RGB 模式。

之前也有介紹過一篇 [在 Linux 下批次轉換 JPEG 圖片尺寸的方法](/post/2008/07/01/Use-ImageMagick-to-Batch-Resize-JPEG-Images) ，你也可以用 [ImageMagick](http://www.imagemagick.org/) 中的 [mogrify](https://legacy.imagemagick.org/script/mogrify.php) 工具轉換圖片，如下指令：

```
mogrify -colorspace RGB Your_CMYK_Image.jpg
```

如果想實驗的可以[下載這張圖片](/pics/CMYK.jpg)回去玩玩看，直接拖曳圖片到 IE 瀏覽器中即可。
