imagecopyresized
(PHP 4, PHP 5, PHP 7)
imagecopyresized — Copie et redimensionne une partie d'une image
Description
$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
)
imagecopyresized() copie une partie rectangulaire d'une image
dans une autre image de destination. dst_image
est l'image
de destination, src_image
est l'image source.
En d'autres termes, imagecopyresized() prendra une
forme rectangulaire src_image
d'une largeur de
src_w
et d'une hauteur src_h
à la position (src_x
,src_y
)
et le placera dans une zone rectangulaire dst_image
d'une largeur de dst_w
et d'une hauteur de
dst_h
à la position
(dst_x
,dst_y
).
Si les dimensions de la source et de la destination ne sont pas égales, un
étirement adéquat est effectué pour faire correspondre
les deux. Les coordonnées fournies sont définies par rapport
au coin supérieur gauche. Cette fonction peut être
utilisée pour recopier des régions à l'intérieur
d'une même image (si dst_image
et
src_image
sont identiques), mais si les
régions se chevauchent, le résultat risque d'être
incohérent.
Liste de paramètres
-
dst_image
-
Lien vers la ressource cible de l'image.
-
src_image
-
Lien vers la ressource source de l'image.
-
dst_x
-
X : coordonnée du point de destination.
-
dst_y
-
Y : coordonnée du point de destination.
-
src_x
-
X : coordonnée du point source.
-
src_y
-
Y : coordonnée du point source.
-
dst_w
-
Largeur de la destination.
-
dst_h
-
Hauteur de la destination.
-
src_w
-
Largeur de la source.
-
src_h
-
Hauteur de la source.
Exemples
Exemple #1 Redimensionnement d'une image
Cet exemple affichera l'image redimensionnée à la moitié de sa taille d'origine.
<?php
// Fichier et nouvelle taille
$filename = 'test.jpg';
$percent = 0.5;
// Content type
header('Content-Type: image/jpeg');
// Calcul des nouvelles dimensions
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;
// Chargement
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);
// Redimensionnement
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// Affichage
imagejpeg($thumb);
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
L'image affiché aura une taille de moitié moins que l'image d'origine, mais une meilleur qualité peut être obtenue en utilisant la fonction imagecopyresampled().
Notes
Note:
Il y a un problème dû aux limitations de la taille de la palette (255 + 1 couleurs différentes). Filtrer ou rééchantillonner une image demande plus de 255 couleurs, une approximation est alors utilisée pour calculer le nouveau nombre de couleurs. Avec une palette, si une nouvelle couleur ne peut être allouée, la couleur la plus proche (en théorie) est utilisée ; ce n'est pas toujours celle qui est la plus proche visuellement. Cela peut générer des problèmes étranges, comme des images blanches. Pour éviter ce problème, passez en image TrueColor, comme celles générée par la fonction imagecreatetruecolor().
Version en cache
26/11/2024 04:33:07 Cette version de la page est en cache (à la date du 26/11/2024 04:33:07) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-imagecopyresized.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.