Черно-белые изображения на сайте

Многие из вас наверняка интересовались, как показать вашим пользователям на сайте фото в обработке, не прибегая к предварительной обработке средствами графических редакторов (например Photoshop).
Для решения данной задачи существовало несколько известных многим методов. В своей основе они достаточно сложные и ресурсоемкие.
В последнем проекте (сайт Альфастрахование.Бонус - ) возникла необходимость решения подобной задачи. Мы решили более эффективно подойти к решению данной задачи и использовать стандартную функцию imagefilter.
bool imagefilter ( resource $image , int $filtertype [, int $arg1 [, int $arg2 [, int $arg3 [, int $arg4 ]]]] )
Первый параметр думаю, что не требует дополнительных пояснений. На втором параметре остановлюсь подробнее, так как в нем заложены очень интересные вкусности.
Итак, эта функция знает и умеет следующие фильтры:
'IMG_FILTER_NEGATE': $filter = 0; //Reverses all colors of the image.
'IMG_FILTER_GRAYSCALE': $filter = 1; //Converts the image into grayscale.
'IMG_FILTER_BRIGHTNESS': $filter = 2; //Changes the brightness of the image. Use arg1 to set the level of brightness.
'IMG_FILTER_CONTRAST': $filter = 3; //Changes the contrast of the image. Use arg1 to set the level of contrast.
'IMG_FILTER_COLORIZE': $filter = 4; //Like IMG_FILTER_GRAYSCALE, except you can specify the color. Use arg1 , arg2 and arg3 in the form of red , blue , green and arg4 for the alpha channel. The range for each color is 0 to 255.
'IMG_FILTER_EDGEDETECT': $filter = 5; //Uses edge detection to highlight the edges in the image.
'IMG_FILTER_EMBOSS': $filter = 6; //Embosses the image.
'IMG_FILTER_GAUSSIAN_BLUR': $filter = 7; //Blurs the image using the Gaussian method.
'IMG_FILTER_SELECTIVE_BLUR': $filter = 8; //Blurs the image.
'IMG_FILTER_MEAN_REMOVAL': $filter = 9; //Uses mean removal to achieve a "sketchy" effect.
'IMG_FILTER_SMOOTH': $filter = 10; //Makes the image smoother. Use arg1 to set the level of smoothness.
'IMG_FILTER_PIXELATE': $filter = 11; //Applies pixelation effect to the image, use arg1 to set the block size and arg2 to set the pixelation effect mode.