2014-03-07 47 views
0

填充區域標誌(「^」標誌)是支持IM v6.3.8-3
但我的客戶的生產服務器版本ImageMagick的6.2.8
現在在我的本地服務器我用這個命令生成的縮略圖,並能正常工作:
生成圖像縮略圖,而不與ImageMagick的拉伸它6.2.8

convert image.jpg -resize "280x210^" -gravity Center -crop "280x210+0+0" thumbnail.jpg 

因爲我的客戶的生產服務器不支持「^」標誌我怎麼能生成縮略圖不使用它? (或者手動計算它在PHP或BASH)
應該使用-extent,它拉伸圖像?
我也讀this和IM不知道^標誌是不讓圖像拉伸,因爲這就是我想要的,生成縮略圖,而不拉伸。
注:我沒有在服務器上的root訪問權限。我使用PHP和BASH來運行這些命令。

編輯:
我也不想任何其他背景顏色,同時調整和croping。

回答

0

我找到了解決
這是PHP函數I用於:

function imgconvert($in,$out,$size){ 
    $size_arr=explode('x',$size); 
    $resize=(($size_arr[0]/$size_arr[1]) > 1.775 ? $size_arr[0].'x':'x'.$size_arr[1]); 
    system("convert \"$in\" -resize $resize -gravity Center -crop \"$size+0+0\" \"$out\""); 
} 


看來,如果寬度/高度比1.775大我應該使用widthX作爲調整大小值,如果別人比我應該使用X字高。

0

嘗試

convert image.jpg -background black -resize 280 
-gravity center -crop 280x210+0+0 -extent 280x210 image.c.jpg