影象裁剪和調整大小

如果你有影象並想要使用新尺寸建立新影象,則可以使用 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