imageantialias

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

imageantialiasОпределяет, применять ли функции сглаживания

Описание

imageantialias(GdImage $image, bool $enable): true

Функция задействует механизмы сглаживания при рисовании линий и замкнутых многоугольников. Функция не поддерживает альфа-компоненты, выполняет операции прямого смешивания цветов и работает только с полноцветными truecolor-изображениями.

Для сглаженных примитивов стили и толщина не поддерживаются.

Сглаженные примитивы совместно с прозрачным фоном иногда дают неожиданный результат. Метод смешивания обрабатывает цвет фона наравне с другими цветами. Отсутствие поддержки альфа-компонента не даёт применять метод сглаживания на основе альфа-канала.

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

image

Объект GdImage, который вернула функция imagecreatetruecolor() или другая функция генерации изображений.

enable

Параметр определяет, включать ли сглаживание.

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

Функция возвращает логическое значение true.

Список изменений

Версия Описание
8.0.0 Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
7.2.0 Функция imageantialias() теперь доступна и при сборке PHP с системной библиотекой GD; раньше требовалось компилировать PHP только с библиотекой, которая входит в комплект исходных файлов интерпретатора.

Примеры

Пример #1 Пример сравнения сглаженной и несглаженной линий

<?php

// Создаём два изображения
$aa = imagecreatetruecolor(400, 100);
$normal = imagecreatetruecolor(200, 100);

// Включаем сглаживание для одного изображения
imageantialias($aa, true);

// Устанавливаем цвета
$red = imagecolorallocate($normal, 255, 0, 0);
$red_aa = imagecolorallocate($aa, 255, 0, 0);

// Рисуем линии
imageline($normal, 0, 0, 200, 100, $red);
imageline($aa, 0, 0, 200, 100, $red_aa);

// Объединяем два изображения для вывода: слева — со сглаживанием, справа — без
imagecopymerge($aa, $normal, 200, 0, 0, 0, 200, 100, 100);

// Устанавливаем заголовок с MIME-типом изображения
header('Content-type: image/png');

imagepng($aa);

Вывод приведённого примера будет похож на:

Вывод примера: изображение с двумя линиями, одна со сглаживанием, другая без сглаживания

Смотрите также