PHP Recadrage et redimensionnement de l'image


Exemple

Si vous avez une image et que vous souhaitez créer une nouvelle image, avec de nouvelles dimensions, vous pouvez utiliser la fonction imagecopyresampled :

créez d'abord une nouvelle image avec les dimensions souhaitées:

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

et stocker l'image d'origine dans une variable. Pour ce faire, vous pouvez utiliser l’une des fonctions createimagefrom* où * signifie:

  • jpeg
  • gif
  • png
  • chaîne

Par exemple:

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

Maintenant, copiez toute (ou partie de) l’image originale (src_img) dans la nouvelle image (dst_img) en imagecopyresampled :

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

Pour définir les src_* et dst_* , utilisez l'image ci-dessous:

entrer la description de l'image ici

Maintenant, si vous souhaitez copier l'intégralité de l'image source (initiale) dans toute la zone de destination (sans recadrage):

$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