imagecopyresized

(PHP 4, PHP 5)

imagecopyresizedCopie et redimensionne une partie d'une image

Description

bool imagecopyresized ( resource $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_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$source0000$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