但是 這兩個方式在轉 eps 或是 pdf 這類向量檔的時候卻是力有未逮
東試西試 終於在我的server上面搞定了 把eps 轉成 png 可以很漂量很平順
但是 顏色就不見得準了 (這牽涉到另一個問題)
我花了很長的時間研究 imagemagick到底在處理EPS的時候是否需要 ghostscript
甚至在 imagemagick 的討論版上都有人提到為什麼轉出來的畫質如此之差
但是並沒有人真正提出解決方式
基本上 如果你不挑剔畫質 那麼 單就處理EPS這種檔案的時候是不需要 ghostscript 的
其結果就像這樣 (圖一)

因為EPS在存檔的時候就已經預存了一段預視檔
用來提供給不能處理向量圖檔的電腦使用
譬如 一般的文書處理電腦也可以在WORD裡貼入EPS檔
或者即使電腦可以處理向量圖檔 也可以減輕電腦壓力
所以 即使不賦予電腦有處理向量圖檔的能力 ( 安裝 ghostscript ) imagemagick 也可以輕鬆把預視檔讀出來
安裝了 ghostscript 之後 imagemagick 就可以把實際的向量內容讀出(也才能轉檔)
所以 這關鍵在於 該電腦有沒有處理向量圖檔的能力
(圖二)

依樣畫葫蘆的 在我工作的電腦上 也安裝了 ghostscript 與 imagemagick
但是很神奇的是 好像這兩個軟體突然之間不認識了
也就是轉出來(PHP的 EXEC() 或是 我另外的轉檔程式)的結果都跟圖一一樣
但是 卻可以在CMD下轉出同樣的畫質 (圖二)
花了好幾天的時間安安裝裝 裝裝安安 當然還是有吃飯睡覺
我思我想我判斷是~~~~
我的工作電腦有安裝 illustrator 所以 檔案的關聯被關連到 illustrator
以至於 imagemagick即使是裝了 ghostscript 這義肢 卻還是跛腳
到這幾天 我更新了我的SERVER
在新機器上 ghostscript 與 imagemagick 又好像不認識了
安安裝裝 裝裝安安了好幾次 還是不行
當然 SERVER 是不可能平白無故裝 illustrator
這下可就沒有推卸責任的理由了
於是 我只好讓兩台機器立正站好 看看有什麼不同
一樣的 IIS 6
PHP 5.26
MySQL 5............ 媽的 跟 MySQL 有什麼關係
重點來了
舊機器是 imagemagick 6.3.6-10-Q16 + ghostscript 8.53
新機器是 imagemagick 6.4.9-2-Q16 + ghostscript 8.53
那就在新機器上改用舊版的試試看吧
重裝之後重新開機
ㄟ~~~~~ 可以了耶
不信邪
我又翻了一下我工作機 沒錯也是 imagemagick 6.4.9-2-Q16
但是 ghostscript 是 8.63
好吧 也請舊版的來好了
換上舊版 (6.3.6-10-Q16) ㄟ 可以了
所以 是什麼問題呢
我覺得應該是有版本搭配上的問題
但是為什麼新版的 imagemagick 抓不到舊版的東西呢
我的程式都是一樣的 都是使用 imagemagick class 來處理
(因為當時想要跟 imagick 使用同樣的操作介面 所以捨棄使用 exec() )
(圖三)

至於顏色的問題
這三張轉出來的結果 其實都是同一個EPS所轉的
都是CMYK的色彩模式
但是 圖三的顏色為什麼差這麼多
那就是少了 -colorspace RGB 這個設定
但是更保險的方式其實應該是要先把EPS轉為PDF 並且改為 RGB模式
再把PDF轉為 JPG或是PNG
當然 如果你需要的是 CMYK模式的JPG 那麼 就可以忽略掉這設定
但是呢 在一拉屎 10 之前的存檔................
應該怎麼說呢
一拉屎10 之前的版本 所存的檔案 其實 顏色沒有那麼的精準
或者說 他單純只考慮了 CMYK的模式 並未考慮到 RGB的顯示
因為在一拉屎 9 的階段對於網頁圖片的支援是非常差的
所以 即使是 EPS >> PDF >> PNG 或是下 colorspace 都是沒什麼太大的用處
問我為什麼只提到一拉屎??? CoralDRAW 也只能匯出 一拉屎7的格式 所以就~~~~~~~~
Quark也可以出EPS阿?? 但是 有多少人看過 用過 Quark的EPS 大概只有印刷廠的人吧
indesign呢?? 他跟一拉屎是一家人 還會有多少差別 更何況 現在會使用indesign的人都是出PDF輸出了 誰還會出EPS去自找麻煩
囉囉唆唆講了一堆 重點是 ghostscript + imagemagick 並不是什麼版本拿來裝了都可以的
但是 這僅限於我的電腦 我經手的電腦 歡迎各位做參考
不要認為你的電腦也同樣可以 因為 我甚至不知道你的機箱是黑的還是白的
沒有留言:
張貼留言