Конвертация полупрозрачного png в черно-белые оттенки.

warobushek

Новичок
Здравствуйте.

Для конвертации использую код:
PHP:
        $sourceIm = imagecreatefrompng(Путь_картинки);

        $iw = imagesx($sourceIm);
        $ih = imagesy($sourceIm);

        $im = imagecreatetruecolor($iw, $ih);

        imagealphablending($im, false);
        imagesavealpha($im, true);
        $transparent = imagecolorallocatealpha($im, 255, 255, 255, 127);
        imagefilledrectangle($im, 0, 0, $iw, $ih, $transparent);

        imagefilter($sourceIm, IMG_FILTER_GRAYSCALE);
        imagecopyresampled($im, $sourceIm, 0, 0, 0, 0, $iw, $ih, $iw, $ih);
        
	imagepng($im, Путь_до_картинки);
Он не работает с прозрачными png. Что изменить в нем, чтобы заработало с прозрачными: осталась прозрачность, но изображение стало черно-белым?
 
Сверху