(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagesetinterpolationDéfini la méthode d'interpolation


imagesetinterpolation(GdImage $image, int $method = IMG_BILINEAR_FIXED): bool

Défini la méthode d'interpolation ; le fait de définir une méthode d'interpolation affecte le rendu de plusieurs fonctions en GD, comme par exemple la fonction imagerotate().

Liste de paramètres


Un objet GdImage, retournée par une des fonctions de création d'images, comme imagecreatetruecolor().


La méthode d'interpolation, qui peut être une parmi :

  • IMG_BELL : filtre Bell.
  • IMG_BESSEL : filtre Bessel.
  • IMG_BICUBIC : interpolation bicubique.
  • IMG_BICUBIC_FIXED : implémentation de point fixe d'une interpolation bicubique.
  • IMG_BILINEAR_FIXED : implémentation de point fixe d'une interpolation bilinéaire (par défaut (y compris pour la création d'image)).
  • IMG_BLACKMAN : fonction de fenêtre Blackman.
  • IMG_BOX : filtre de flou Box.
  • IMG_BSPLINE : interpolation Spline.
  • IMG_CATMULLROM : interpolation cubique Hermite spline.
  • IMG_GAUSSIAN : fonction Gaussien.
  • IMG_GENERALIZED_CUBIC : interpolation fractale cubique généralisée spline.
  • IMG_HERMITE : interpolation Hermite.
  • IMG_HAMMING : filtre Hamming.
  • IMG_HANNING : filtre Hanning.
  • IMG_MITCHELL : filtre Mitchell.
  • IMG_POWER : interpolation Power.
  • IMG_QUADRATIC : interpolation quadratique inverse.
  • IMG_SINC : fonction Sinc.
  • IMG_NEAREST_NEIGHBOUR : interpolation du voisin le plus proche.
  • IMG_WEIGHTED4 : filtre Weighting.
  • IMG_TRIANGLE : interpolation Triangle.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.


Version Description
8.0.0 image attend une instance de GdImage désormais; auparavant, une resource était attendu.


Exemple #1 Exemple avec imagesetinterpolation()

// Chargement de l'image
$im imagecreate(500500);

// Par défaut, l'interpolation est IMG_BILINEAR_FIXED ; on utilse plutôt
// le filtre 'Mitchell' :

// On continue de travailler avec $im ...


La modification de la méthode d'interpolation affecte les fonctions suivantes lors du rendu :

Voir aussi

add a note add a note

User Contributed Notes 1 note

shaun at slickdesign dot com dot au
5 years ago
Setting the interpolation does not carry through to any images created by imageaffine() or imagerotate(). It defaults to IMG_BILINEAR_FIXED and would need to be set on each generated image as required.


$rotated = imagerotate( $image, 45, $transparent );

// Rotated using IMG_BILINEAR_FIXED
$rotated_again = imagerotate( $rotated, 45, $transparent );

Setting the interpolation to IMG_NEAREST_NEIGHBOUR can help to preserve details and prevent sampling issues when rotating an image at 90 degree increments, including when rotating clockwise.

// Rotated image can appear blurred and on a slight angle.
$rotated = imagerotate( $image, -360, $transparent );

// Similar to starting Image although it may still show a background or be on a slight angle.
imagesetinterpolation( $image, IMG_NEAREST_NEIGHBOUR );
$rotated = imagerotate( $image, -360, $transparent );
To Top