PHP Graphics Getting and Setting a Transparent Color - Supercoders | Web Development and Design | Tutorial for Java, PHP, HTML, Javascript PHP Graphics Getting and Setting a Transparent Color - Supercoders | Web Development and Design | Tutorial for Java, PHP, HTML, Javascript

Breaking

Post Top Ad

Post Top Ad

Sunday, June 23, 2019

PHP Graphics Getting and Setting a Transparent Color

PHP Graphics


Getting and Setting a Transparent Color


Problem

You want to set one color in an image as transparent. When the image is overlayed on a background, the background shows through the transparent section of the image.

Solution

Use ImageColorTransparent():

       $color = 0xFFFFFF;
       ImageColorTransparent($image, $color);

Discussion

Both GIFs and PNGs support transparencies; JPEGs, however, do not. To refer to the transparent color within GD, use the constant IMG_COLOR_TRANSPARENT. For example, here’s how to make a dashed line that alternates between black and transparent:

       // make a two-pixel thick black and white dashed line
       $style = array($black, $black, IMG_COLOR_TRANSPARENT,                                               IMG_COLOR_TRANSPARENT);
       ImageSetStyle($image, $style);

To find the current transparency setting, take the return value of ImageColorTransparent() and pass it to ImageColorsForIndex():

       $transparent = ImageColorsForIndex($image, ImageColorTransparent($image));
       print_r($transparent);

This prints:

       Array
       (
               [red] => 255
               [green] => 255
               [blue] => 255
       )

The ImageColorsForIndex() function returns an array with the red, green, and blue values. In this case, the transparent color is white.


No comments:

Post a Comment

Post Top Ad