imagecopyresampled()
prendra une zone rectangulaire de $src_image
de largeur $src_w
et la hauteur $src_h
à la position ($src_x, $src_y)
et le placer dans une zone rectangulaire de $dst_image
de largeur $dst_w
et la hauteur $dst_h
à la position ($dst_x, $dst_y)
.
Si les coordonnées, la largeur et la hauteur de la source et de la destination diffèrent, le fragment d'image sera étiré ou rétréci de manière appropriée. Les coordonnées se réfèrent au coin supérieur gauche.
Cette fonction peut être utilisée pour copier des régions au sein d'une même image. Mais si les régions se chevauchent, les résultats seront imprévisibles.
- Editer -
Si $src_w
y $src_h
sont plus petites que $dst_w
y $dst_h
respectivement, l'image du pouce sera zoomée. Sinon, elle sera dézoomée.
<?php
$dst_x = 0; // X-coordinate of destination point
$dst_y = 0; // Y-coordinate of destination point
$src_x = 100; // Crop Start X position in original image
$src_y = 100; // Crop Srart Y position in original image
$dst_w = 160; // Thumb width
$dst_h = 120; // Thumb height
$src_w = 260; // Crop end X position in original image
$src_h = 220; // Crop end Y position in original image
// Creating an image with true colors having thumb dimensions (to merge with the original image)
$dst_image = imagecreatetruecolor($dst_w, $dst_h);
// Get original image
$src_image = imagecreatefromjpeg('images/source.jpg');
// Cropping
imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h);
// Saving
imagejpeg($dst_image, 'images/crop.jpg');
?>
2 votes
Essayez-vous de créer des vignettes ?
2 votes
Oui, j'essaie de créer des vignettes
0 votes
Pour de telles tâches, vous devriez envisager d'utiliser une bibliothèque. Je recommande Image d'intervention . Par exemple, voir ces méthodes :
resize()
,fit()
.0 votes
Expliquer
($img,$org_img, 0, 0, 20, 20, 200, 150)
. Remplacement desrc
avec mon nom de fichier (weather.jpg) a échoué.