What are the potential pitfalls of using imagefilledrectangle in PHP, especially when drawing shapes?

One potential pitfall of using imagefilledrectangle in PHP when drawing shapes is that the function does not handle transparency well. This can result in overlapping shapes not blending correctly or unexpected colors appearing. To solve this issue, you can use imagecreatetruecolor to create a truecolor image with alpha channel support before drawing shapes.

// Create a truecolor image with alpha channel support
$image = imagecreatetruecolor(400, 400);
imagesavealpha($image, true);
$transparency = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $transparency);

// Draw a red filled rectangle with transparency
$red = imagecolorallocatealpha($image, 255, 0, 0, 63);
imagefilledrectangle($image, 50, 50, 150, 150, $red);

// Output the image
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);