2009-06-30 39 views
0

我希望能夠修剪圖像,其中許多圖像垂直很長...從2000到4000px的任何地方,總是在800.因此只獲取圖像的頂部。然後我想用PHP輸出這個頁面/報告,而不用保存所產生的修剪圖像。修剪臨時使用的圖像在PHP中

是$ imagepng->修剪最好的方法來做到這一點?

回答

1

你會做這樣的事情:

$srcName = 'source.png'; 

$info = getimageinfo($srcName); 
$src = imagecreatefrompng($srcName); 

// Create a new image up to 800px tall 
$dest = imagecreate($info[0], min($info[1], 800)); 
imagecopy($dest, $src, 0, 0, 0, 0, $info[0], min($info[1], 800)); 

// Output 
header('Content-type: image/png'); 
imagepng($dest); 
0

GD是什麼imagepng使用,它是在PHP做圖像處理的最廣泛支持的方式,所以這是一個非常安全的賭注,特別是如果你是希望將代碼部署在您不能控制的服務器上。

另一種方法是查看ImageMagick,但我發現GD在大多數情況下速度稍快。