JavaScript позволяет создавать всевозможные эффекты изображений при помощи фильтров. Однако, если вы используете браузер, отличный от IE, увидеть данные эффекты вам, увы, не суждено. Однако есть альтернатива подобным фильтрам, которая называется GD + PHP. GD - это стандартная графическая библиотека PHP, которая содержит набор функций и методов для работы с изображениями.
Для создания фильтров используется функция imagefilter, которая имеет следующий синтаксис:
imagefilter ( указатель изображения, фильтр, параметры)
При этом некоторые фильтры не используют параметры, поэтому в некоторых случаях они опускаются. Необходимо заметить, что данная функция поддерживается в версии не ниже PHP 5.
Ниже приведены типы фильтров с кратким описанием и примером работы:
Негатив
<?php
$im = imagecreatefromjpeg('tulips.jpg');
imagefilter($im, IMG_FILTER_NEGATE);
imagejpeg($im, 'tulips_negate.jpg');
?>
Создание негатива изображения. Дополнительных параметров не имеет.
Оттенки серого
<?php
$im = imagecreatefromjpeg('tulips.jpg');
imagefilter($im, IMG_FILTER_GRAYSCALE);
imagejpeg($im, 'tulips_gray.jpg');
?>
Формирование изображения. состоящего из оттенков серого цвета. Дополнительных параметров не имеет.
Яркость
<?php
$im = imagecreatefromjpeg('tulips.jpg');
imagefilter($im, IMG_FILTER_BRIGHTNESS, 50);
imagejpeg($im, 'tulips_bright.jpg');
?>
Изменение яркости изображения. Имеет дополнительный параметр - коэффициент яркости. Чем выше значение данного параметра - тем выше яркость изображения.
Контраст
<?php
$im = imagecreatefromjpeg('tulips.jpg');
imagefilter($im, IMG_FILTER_CONTRAST, -30);
imagejpeg($im, 'tulips_contrast.jpg');
?>
Изменение контраста изображения. Имеет дополнительный параметр - коэффициент контраста. Чем выше значение данного параметра - тем выше контраст изображения.
Цветовая гамма
<?php
$im = imagecreatefromjpeg('tulips.jpg');
imagefilter($im, IMG_FILTER_COLORIZE, 0, -100, -100);
imagejpeg($im, 'tulips_colorize.jpg');
?>
Изменение цветовой гаммы изображения. Имеет три дополнительных параметра, соответствующих каждому цвету в палитре RGB (red, green, blue).
Размытие по методу Гаусса
<?php
$im = imagecreatefromjpeg('tulips.jpg');
imagefilter($im, IMG_FILTER_GAUSSIAN_BLUR);
imagejpeg($im, 'tulips_gaussian.jpg');
?>
Размыватие изображения по методу Гаусса. Не имеет дополнительных параметров.
Существуют также следующие виды фильтров: IMG_FILTER_EDGEDETECT (эффект фольги), IMG_FILTER_EMBOSS (эффект чеканки), IMG_FILTER_SELECTIVE_BLUR (размытие), IMG_FILTER_MEAN_REMOVAL (эффект эскиза), IMG_FILTER_SMOOTH (эффект сглаживания, имеет дополнительный параметр).
Для придания изображению оригинального вида можно использовать одновременно несколько фильтров:
<?php
$im = imagecreatefromjpeg('tulips.jpg');
imagefilter($im, IMG_FILTER_NEGATE);
imagefilter($im, IMG_FILTER_GRAYSCALE);
imagejpeg($im, 'tulips_combinate.jpg');
?>