2013-02-07 154 views
1

我有尺寸1440 X 500的圖像。左側和右側裁剪圖像

我需要在左邊的圖像200px和右邊的200px。這是新圖像的尺寸必須爲1040 X 500

我想這

$original_w = 1440; 
$original_h = 500; 

$new_w = 1040; 
$new_h = 500; 

$new_img = imagecreatetruecolor($new_w, $new_h); 
imagecopyresampled($new_img, $original_img, 200, 0, 200, 0, $new_w, $new_h, $original_w, $original_h); 
我沒有獲得期望的結果

,請大家幫幫忙,我在做什麼錯?

+0

整數座標..前兩個不是目標點嗎?在這種情況下,0,0因爲你想從新圖像的左上角。你有沒有得到任何錯誤或圖像是不是你想要的? –

回答

3

閱讀PHP doc,你用錯imagecopyresampled

imagecopyresampled ( 
    resource $dst_image , 
    resource $src_image , 
    int $dst_x , 
    int $dst_y , 
    int $src_x , 
    int $src_y , 
    int $dst_w , 
    int $dst_h , 
    int $src_w , 
    int $src_h 
) 

所以:

$original_w = 1440; 
$original_h = 500; 

$new_w = 1040; 
$new_h = 500; 

$new_img = imagecreatetruecolor($new_w, $new_h); 
imagecopyresampled($new_img, $original_img, 0, 0, 200, 0, $new_w, $new_h, $new_w, $new_h); 

從(200,0)COORDS新形象,在複製1040 * 500盒( 0,0)coords。

2

你想要什麼大概是這樣的:

imagecopyresampled($new_img, $original_img, -200, 0, 0, 0, $new_w, $new_h, $original_w, $original_h);

告訴PHP來:

複製1440x500圖像起始座標爲(0,0)到1040x500畫布開始(-200 ,0)

這樣,您可以將原始圖像從畫布上移開200像素,並將畫布寬度縮小400px(這樣右邊的200像素也會被截斷)。

我相信你應該找你想要的東西。