PHP 7.4.9 Released!

imagesetinterpolation

(PHP 5 >= 5.5.0, PHP 7)

imagesetinterpolationУстанавливает метод интерполяции

Описание

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

Устанавливает метод интерполяции, установка метода интерполяции влияет на отображение различных функций в GD, таких как функция imagerotate().

Список параметров

image

Ресурс изображения, возвращаемый одной из функций создания изображений, например, такой как imagecreatetruecolor().

method

Метод интерполяции, который может быть одним из следующих:

  • IMG_BELL: Фильтр Белла.
  • IMG_BESSEL: Фильтр Бесселя.
  • IMG_BICUBIC: Бикубическая интерполяция.
  • IMG_BICUBIC_FIXED: Фиксированная точка реализации бикубической интерполяции.
  • IMG_BILINEAR_FIXED: Реализация билинейной интерполяции с фиксированной запятой (по умолчанию (также при создании изображения)).
  • IMG_BLACKMAN: Оконная функция Блэкмана.
  • IMG_BOX: Фильтр Коробка размытия.
  • IMG_BSPLINE: Сплайн-интерполяция.
  • IMG_CATMULLROM: Кубическая эрмитовая сплайн-интерполяция.
  • IMG_GAUSSIAN: Гауссова функция.
  • IMG_GENERALIZED_CUBIC: Обобщенная кубическая сплайн-фрактальная интерполяция.
  • IMG_HERMITE: Интерполяция Эрмита.
  • IMG_HAMMING: Фильтр Хэмминга.
  • IMG_HANNING: Фильтр Хеннинга.
  • IMG_MITCHELL: Фильтр Митчелла.
  • IMG_POWER: Степенная интерполяция.
  • IMG_QUADRATIC: Обратная квадратичная интерполяция.
  • IMG_SINC: Синк функция.
  • IMG_NEAREST_NEIGHBOUR: Интерполяция ближайшего соседа.
  • IMG_WEIGHTED4: Весовой фильтр.
  • IMG_TRIANGLE: Треугольная интерполяция.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования imagesetinterpolation()

<?php
// Загрузка изображения
$im imagecreate(500500);

// По умолчанию интерполяция IMG_BILINEAR_FIXED, переключитесь 
// на использование фильтра 'Митчелла':
imagesetinterpolation($imIMG_MITCHELL);

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

Примечания

Изменение метода интерполяции влияет на следующие функции при отображении:

add a note add a note

User Contributed Notes 1 note

up
-1
shaun at slickdesign dot com dot au
2 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.

<?php
imagesetinterpolation
( $image, IMG_NEAREST_NEIGHBOUR );

// Rotated using IMG_NEAREST_NEIGHBOUR
$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.

<?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( $image, IMG_NEAREST_NEIGHBOUR );
$rotated = imagerotate( $image, -360, $transparent );
?>
To Top