Allocate a color for an image

imagecolorallocate
imagecolorat
GD and Image Functions
PHP Manual

# imagecolorallocatealpha

(PHP 4 >= 4.3.2, PHP 5, PHP 7)

imagecolorallocatealpha — Allocate a color for an image

### Description

int imagecolorallocatealpha ( resource `$image` , int `$red` , int `$green` , int `$blue` , int `$alpha` )

imagecolorallocatealpha() behaves identically to imagecolorallocate() with the addition of the transparency parameter `alpha`.

### Parameters

`image`

  An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

`red`

  Value of red component.

`green`

  Value of green component.

`blue`

  Value of blue component.

`alpha`

  A value between 0 and 127. 0 indicates completely opaque while 127 indicates completely transparent.

The `red`, `green` and `blue` parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

### Return Values

A color identifier or `FALSE` if the allocation failed.

Warning

This function may return Boolean `FALSE`, but may also return a non-Boolean value which evaluates to `FALSE`. Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.

### Changelog

Version | Description
--- | ---
5.1.3 | Returns `FALSE` if the allocation failed. Previously -1 was returned.

### Examples

Example #1 Example of using imagecolorallocatealpha()

`<?php
$size = 300;
$image=imagecreatetruecolor($size, $size);
// something to get a white background with black border
$back = imagecolorallocate($image, 255, 255, 255);
$border = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 0, 0, $size - 1, $size - 1, $back);
imagerectangle($image, 0, 0, $size - 1, $size - 1, $border);
$yellow_x = 100;
$yellow_y = 75;
$red_x = 120;
$red_y = 165;
$blue_x = 187;
$blue_y = 125;
$radius = 150;
// allocate colors with alpha values
$yellow = imagecolorallocatealpha($image, 255, 255, 0, 75);
$red = imagecolorallocatealpha($image, 255, 0, 0, 75);
$blue = imagecolorallocatealpha($image, 0, 0, 255, 75);
// drawing 3 overlapped circle
imagefilledellipse($image, $yellow_x, $yellow_y, $radius, $radius, $yellow);
imagefilledellipse($image, $red_x, $red_y, $radius, $radius, $red);
imagefilledellipse($image, $blue_x, $blue_y, $radius, $radius, $blue);
// don't forget to output a correct header!
header('Content-Type: image/png');
// and finally, output the result
imagepng($image);
imagedestroy($image);
?>`

The above example will output something similar to:

### Notes

> Note: This function requires GD 2.0.1 or later (2.0.28 or later is recommended).

### See Also

- imagecolorallocate() - Allocate a color for an image
- imagecolordeallocate() - De-allocate a color for an image

imagecolorallocate
imagecolorat
GD and Image Functions
PHP Manual