imagecopyresized
(PHP 4, PHP 5)
imagecopyresized — Copie et redimensionne une partie d'une image
Description
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_im
-
Lien vers la ressource de l'image de destination.
- src_im
-
Lien vers la ressource de l'image source.
- 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.
Valeurs de retour
Cette fonction retourne TRUE en cas de succ�s, FALSE en cas d'�chec.
Exemples
Exemple #1 Redimensionnement d'une image
Cet exemple affichera l'image redimensionn� � 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().
Voir aussi
imagecopyresampled() - Copie, redimensionne, r��chantillonne une image