imagefilter

(PHP 5, PHP 7, PHP 8)

imagefilter — Застосовує фільтр до зображення

Опис

imagefilter(GdImage $image, int $filter, array|int|float|bool ...$args): bool

imagefilter() застосовує заданий фільтр filterк изображениюimage

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

image

Об'єкт GdImage, що повертається однією з функцій створення зображень, наприклад, такий як imagecreatetruecolor()

filter

filter може бути одним з наступних:

  • IMG_FILTER_NEGATE: Інвертує всі кольори зображення
  • IMG_FILTER_GRAYSCALE: Перетворює кольори зображення в градації сірого шляхом перетворення компонентів червоного, зеленого та синього в їхню суму з урахуванням ваг, таких як при обчисленні яскравості (Y') по REC.601. Альфа-канал зберігається. Для зображень, що використовують палітру, результат може відрізнятися через обмеження, що накладаються палітрою.
  • IMG_FILTER_BRIGHTNESS: Змінює яскравість зображення. Використовуйте аргументargsдля завдання рівня яскравості. Діапазон яскравостей від -255 до 255.
  • IMG_FILTER_CONTRAST: Змінює контрастність зображення. Використовуйте аргументargsдля завдання рівня контрастності.
  • IMG_FILTER_COLORIZE: Те саме, що і**IMG_FILTER_GRAYSCALE**, за винятком того, що можна встановити колір. Використовуйте аргументиargs arg2иarg3для вказівки каналівred green blue, аarg4дляalphaканалу. Діапазон кожного каналу кольору від 0 до 255.
  • IMG_FILTER_EDGEDETECT: Використовує визначення меж для їх підсвічування
  • IMG_FILTER_EMBOSS: Додає рельєф
  • IMG_FILTER_GAUSSIAN_BLUR: Розмиває зображення за методом Гауса.
  • IMG_FILTER_SELECTIVE_BLUR: Розмиває зображення.
  • IMG_FILTER_MEAN_REMOVAL: Використовує усереднення для досягнення ефекту "ескізу"
  • IMG_FILTER_SMOOTH: Робить межі більш плавними, а зображення менш чітким. Використовуйте аргументargsдля завдання рівня гладкості.
  • IMG_FILTER_PIXELATE: Застосовує ефект пікселювання. Використовуйте аргументargsдля завдання розміру блоку та аргументarg2для завдання режиму пікселювання.
  • IMG_FILTER_SCATTER: Застосовує ефект розсіювання зображення, використовуйтеargsиarg2для визначення сили ефекту та додатковоarg3для використання лише до вибраних кольорів пікселів.

args

  • IMG_FILTER_BRIGHTNESS: Рівень яскравості
  • IMG_FILTER_CONTRAST: Рівень контрастності
  • IMG_FILTER_COLORIZE: Значення червоного кольору.
  • IMG_FILTER_SMOOTH: Рівень згладжування.
  • IMG_FILTER_PIXELATE: Розмір блоку у пікселах.
  • IMG_FILTER_SCATTER: Рівень зменшення ефекту Не повинен бути більшим або дорівнює рівню додавання ефекту, встановленому за допомогоюarg2

arg2

  • IMG_FILTER_COLORIZE: Значення зеленого кольору.
  • IMG_FILTER_PIXELATE: Використовувати вдосконалений ефект пікселювання чи ні (за замовчуванням**false**
  • IMG_FILTER_SCATTER: Рівень додавання ефекту.

arg3

  • IMG_FILTER_COLORIZE: Значення синього кольору.
  • IMG_FILTER_SCATTER: Необов'язковий масив значень індексації кольору для ефекту.

arg4

  • IMG_FILTER_COLORIZE: Альфа канал, значення між 0 та 127. 0 означає непрозорість, 127 відповідає абсолютній прозорості.

Значення, що повертаються

Повертає true у разі успішного виконання або **false**в случае возникновения ошибки.

список змін

ВерсияОпис
8.0.0image тепер чекає екземпляр GdImage; раніше очікувався коректний gd ресурс (Resource).
7.4.0Додано підтримку розсіювання (IMG_FILTER_SCATTER

Приклади

Приклад #1 Приклад використання imagefilter()** із фільтром grayscale**

Loading...

Приклад #2 Приклад використання imagefilter()** з фільтром яскравості**

Loading...

Приклад #3 Приклад використання imagefilter()с фильтром colorize

Loading...

Приклад #4 Приклад використання imagefilter()с фильтром negate

Loading...

Приклад #5 Приклад використання imagefilter()с фильтром pixelate

Loading...

Висновок наведеного прикладу буде схожим на:

Висновок прикладу: imagefilter() pixelate

Приклад #6 Приклад використання imagefilter()с фильтром scatter

Loading...

Висновок наведеного прикладу буде схожим на:

Висновок прикладу: imagefilter() scatter

Примітки

Зауваження: Результат**IMG_FILTER_SCATTER** завжди випадковий.

Дивіться також

  • imageconvolution() - Накладання викривляючої матриці 3х3, використовуючи коефіцієнт та зміщення