imagesetinterpolation

(PHP 5 >= 5.5.0)

imagesetinterpolationSet the interpolation method

Description

bool imagesetinterpolation ( resource $image [, int $method = IMG_BILINEAR_FIXED ] )

Sets the interpolation method, setting an interpolation method affects the rendering of various functions in GD, such as the imagerotate() function.

Parameters

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

method

The interpolation method, which can be one of the following:

  • IMG_BELL: Bell filter.
  • IMG_BESSEL: Bessel filter.
  • IMG_BICUBIC: Bicubic interpolation.
  • IMG_BICUBIC_FIXED: Fixed point implementation of the bicubic interpolation.
  • IMG_BILINEAR_FIXED: Fixed point implementation of the bilinear interpolation (default (also on image creation)).
  • IMG_BLACKMAN: Blackman window function.
  • IMG_BOX: Box blur filter.
  • IMG_BSPLINE: Spline interpolation.
  • IMG_CATMULLROM: Cubic Hermite spline interpolation.
  • IMG_GAUSSIAN: Gaussian function.
  • IMG_GENERALIZED_CUBIC: Generalized cubic spline fractal interpolation.
  • IMG_HERMITE: Hermite interpolation.
  • IMG_HAMMING: Hamming filter.
  • IMG_HANNING: Hanning filter.
  • IMG_MITCHELL: Mitchell filter.
  • IMG_POWER: Power interpolation.
  • IMG_QUADRATIC: Inverse quadratic interpolation.
  • IMG_SINC: Sinc function.
  • IMG_NEAREST_NEIGHBOUR: Nearest neighbour interpolation.
  • IMG_WEIGHTED4: Weighting filter.
  • IMG_TRIANGLE: Triangle interpolation.

Return Values

Returns TRUE on success or FALSE on failure.

Examples

Example #1 imagesetinterpolation() example

<?php
// Load an image
$im imagecreate(500500);

// By default interpolation is IMG_BILINEAR_FIXED, switch 
// to use the 'Mitchell' filter:
imagesetinterpolation($imIMG_MITCHELL);

// Continue to work with $im ...
?>

Notes

Changing the interpolation method affects the following functions when rendering:

Коментарии

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.

<?php
imagesetinterpolation
$imageIMG_NEAREST_NEIGHBOUR );

// Rotated using IMG_NEAREST_NEIGHBOUR
$rotated imagerotate$image45$transparent );

// Rotated using IMG_BILINEAR_FIXED
$rotated_again imagerotate$rotated45$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.

<?php
// 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$imageIMG_NEAREST_NEIGHBOUR );
$rotated imagerotate$image, -360$transparent );
?>
2017-11-29 10:27:19
http://php5.kiev.ua/manual/ru/function.imagesetinterpolation.html

    Поддержать сайт на родительском проекте КГБ