imagecolortransparent() function in PHP

The imagecolortransparent() function in PHP sets a specific color in an image to be transparent. This is particularly useful when creating images with transparent backgrounds or when overlaying images.

Syntax

imagecolortransparent(resource $image [, int $color])

Parameters

  • image − An image resource created by functions like imagecreatetruecolor() or imagecreate().

  • color (optional) − Color identifier created with imagecolorallocate(). If not specified, returns the current transparent color.

Return Value

The function returns the identifier of the new transparent color when a color is set. If no color parameter is provided, it returns the current transparent color identifier, or -1 if no transparent color is set.

Example

Here's how to create an image with a transparent background and draw a blue rectangle ?

<?php
    // Create a new image
    $img = imagecreatetruecolor(500, 400);
    
    // Allocate colors
    $blue = imagecolorallocate($img, 0, 0, 255);
    $transparent = imagecolorallocate($img, 0, 0, 0);
    
    // Set black color as transparent
    imagecolortransparent($img, $transparent);
    
    // Fill the entire image with transparent color first
    imagefill($img, 0, 0, $transparent);
    
    // Draw a blue rectangle
    imagefilledrectangle($img, 80, 90, 400, 220, $blue);
    
    // Output as PNG (supports transparency)
    header('Content-Type: image/png');
    imagepng($img);
    imagedestroy($img);
?>

Key Points

  • Transparency works best with PNG format as it natively supports alpha transparency

  • GIF format supports single-color transparency but not alpha blending

  • JPEG format does not support transparency

  • Always call imagedestroy() to free memory after image processing

Conclusion

The imagecolortransparent() function is essential for creating images with transparent backgrounds in PHP. Use it with PNG output for best transparency support and remember to allocate the transparent color before setting it.

Updated on: 2026-03-15T08:06:53+05:30

372 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements