我的图片尺寸为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 :(得分: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)坐标中的1040 * 500框复制到新图像,(0,0)坐标。
答案 1 :(得分:2)
你想要的可能就是:
imagecopyresampled($new_img, $original_img, -200, 0, 0, 0, $new_w, $new_h, $original_w, $original_h);
告诉PHP:
将从坐标(0,0)开始的1440x500图像复制到从(-200,0)开始的1040x500画布
这样,您将原始图像从画布上移开200像素,并将画布宽度缩小400px(这样右侧200px也会被切除)。
我相信你应该寻找你想要的东西。