2009-08-27 67 views
0

我已經使用下面的代碼使用現有圖像創建jpeg圖像。這些圖像使用嵌入式顏色配置文件,Adobe1998顏色配置文件。問題在使用PHP函數imagecreatefromjpeg爲具有Adobe1998顏色配置文件的圖像

header("Content-type: image/jpeg"); 
$src = imagecreatefromjpeg($upfile); 
$dst = imagecreatetruecolor($tn_width, $tn_height); 
imagecopyresampled($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height); 
imagejpeg($dst,NULL,100); 
imagedestroy($src); 
imagedestroy($dst); 

這裏的問題是,當顯示圖像時,看不到嵌入的顏色配置文件。 任何人都可以幫助我嗎?可能是什麼問題?

在此先感謝

回答

1

imagecratefromjpeg()利用我們GD2-lib中,這好像不支持顏色配置文件。您應該考慮使用imagemagick來調整圖像大小,如下所示:

convert mypicture.jpg -resize 50% resized.jpg 

顏色配置文件應該仍在圖像中。

+0

謝謝施耐克我會試試看。 – user75472 2009-08-27 12:51:24

+0

嗨schneck,我安裝了imagemagick,並在完成安裝消息之前顯示爲 (您現在已經安裝了ImageMagick。要測試安裝,請從Windows開始菜單中選擇命令提示符,在窗口中鍵入: convert logo:logo.miff imdisplay logo.miff 和ImageMagick的標誌應顯示在一個窗口。 ) 但是當我運行上面的顯示命令提示符這樣的「系統無法執行指定的程序」 您能否提供我什麼可成爲問題。 謝謝 – user75472 2009-08-28 12:07:44

+0

好像你的Windows無法找到imagemagick可執行文件。雖然我沒有擁有Windows,但我認爲你應該搜索文件「convert.exe」,然後在命令行中通過鍵入「cd 」切換到該目錄。那麼你應該可以運行轉換程序。 – schneck 2009-08-28 12:20:35

0

顏色配置文件是嵌入特定於最初使用的顯示媒體(基本上與您的顯示器的顏色配置文件相匹配)的圖像中的信息片段,因此當在另一媒體上打開相同圖像時,顏色將被調整打開後它與您最初在顯示器上看到的內容更接近。

嘗試使用轉換爲施內克sugested,如果是這麼想的工作,你也可以嘗試GIMP命令行。我從來沒有親自使用它從cmd行,但它確實支持顏色配置文件,我知道它有一些批量轉換的選項。

相關問題