Это можно сделать, и общий процесс будет включать использование маски. Пользователь Stack Overflow написал в своем блоге довольно хорошую статью о создании и использовании маски. Он не отвечает на ваш вопрос напрямую, но должен указать вам правильное направление:
Создание «маскирующих слоев» с использованием PHP GD