imagecolorclosestalpha() function in PHP

The imagecolorclosestalpha() function finds the index of the closest color in an image palette that matches the specified RGBA values. This function is particularly useful when working with palette-based images where you need to find the best color match including transparency.

Syntax

imagecolorclosestalpha(resource $image, int $red, int $green, int $blue, int $alpha)

Parameters

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

  • red − Red color component value (0-255).

  • green − Green color component value (0-255).

  • blue − Blue color component value (0-255).

  • alpha − Alpha transparency value where 0 is completely opaque and 127 is completely transparent.

Return Value

Returns the index of the closest color in the image palette as an integer.

Example

The following example demonstrates finding the closest color match with alpha transparency ?

<?php
    // Create image from PNG file
    $img = imagecreatefrompng('/images/sample-image.png');
    
    // Convert to palette-based image
    imagetruecolortopalette($img, false, 255);
    
    // Find closest color to RGBA(180, 100, 150, 110)
    $closestIndex = imagecolorclosestalpha($img, 180, 100, 150, 110);
    
    // Get the actual color values at that index
    $colorInfo = imagecolorsforindex($img, $closestIndex);
    
    // Display the closest matching color
    echo "Closest color: ({$colorInfo['red']}, {$colorInfo['green']}, {$colorInfo['blue']}, {$colorInfo['alpha']})";
    
    // Clean up memory
    imagedestroy($img);
?>
Closest color: (140, 130, 140, 0)

Key Points

  • The function works only with palette-based images, not true color images

  • Use imagetruecolortopalette() to convert true color images to palette format

  • Alpha values range from 0 (opaque) to 127 (transparent)

  • The function returns an index, not the actual color values

Conclusion

The imagecolorclosestalpha() function is essential for color matching in palette-based images with transparency. It helps find the best available color match when the exact RGBA combination doesn't exist in the palette.

Updated on: 2026-03-15T08:03:55+05:30

117 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements