Да, это возможно. Вы можете определить область изображения, заполнить ее цветом и затем установить этот цвет как прозрачный. Для этого требуется наличие GD libraries. Соответствующий manual for the command имеет этот код в примере:
<?php
// Create a 55x30 image
$im = imagecreatetruecolor(55, 30);
$red = imagecolorallocate($im, 255, 0, 0);
$black = imagecolorallocate($im, 0, 0, 0);
// Make the background transparent
imagecolortransparent($im, $black);
// Draw a red rectangle
imagefilledrectangle($im, 4, 4, 50, 25, $red);
// Save the image
imagepng($im, './imagecolortransparent.png');
imagedestroy($im);
?>
В вашем случае, вы бы существующий образ с respective function. результирующим ресурсом будет $ im в приведенном выше примере, тогда вы выделите цвет, установите его прозрачным и нарисуйте прямоугольник, как указано выше, затем сохраните изображение:
<?php
// get the image form the filesystem
$im = imagecreatefromjpeg($imgname);
// let's assume there is no red in the image, so lets take that one
$red = imagecolorallocate($im, 255, 0, 0);
// Make the red color transparent
imagecolortransparent($im, $red);
// Draw a red rectangle in the image
imagefilledrectangle($im, 4, 4, 50, 25, $red);
// Save the image
imagepng($im, './imagecolortransparent.png');
imagedestroy($im);
?>