图像裁剪和调整大小

如果你有图像并想要使用新尺寸创建新图像,则可以使用 imagecopyresampled 函数:

首先创建一个具有所需尺寸的新 image

// new image
$dst_img = imagecreatetruecolor($width, $height);

并将原始图像存储到变量中。为此,你可以使用其中*代表的 createimagefrom*函数之一:

  • JPEG
  • GIF
  • PNG
  • 字符串

例如:

//original image
$src_img=imagecreatefromstring(file_get_contents($original_image_path));

现在,通过 imagecopyresampled 将所有(或部分)原始图像(src_img)复制到新图像(dst_img)中:

imagecopyresampled($dst_img, $src_img, 
    $dst_x ,$dst_y, $src_x, $src_y, 
    $dst_width, $dst_height, $src_width, $src_height);

要设置 src_*dst_*尺寸,请使用下图:

https://i.stack.imgur.com/6MFxN.jpg

现在,如果要将整个源(初始)图像复制到整个目标区域(无裁剪):

$src_x = $src_y = $dst_x = $dst_y = 0;
$dst_width = $width;// width of new image
$dst_height = $height; //height of new image
$src_width = imagesx($src_img); //width of initial image
$src_height = imagesy($src_img); //height of initial image