Вы можете сделать это, обработав изображение попиксельно вручную (используя imagecolorat и imagesetpixel ).
Если изображение относительно маленькое (т.е.что бы вы ни называли пиктограммой) и не меняется слишком часто (чтобы вы могли кэшировать результат), GD будет работать хорошо.Я использовал этот метод для создания серых версий значков 64x64 для отключенных кнопок, которые редко меняются.
Если вам нужно делать это с большими изображениями и чаще, ImageMagick подойдет для любого изображенияманипуляции, которые вы когда-либо хотели.Он может выполнить маскирование , которое вы ищете.