16.9. Adding Transparency
Specifying the part of an image that should be transparent is as simple as picking the color to use as transparent and passing it into the imagecolortransparent( ) function. As the support for transparency
in some browsers (notably with Internet Explorer and PNG transparency) is limited, this function is most useful when the transparent image is used as part of a larger image so that the transparency can be seen.
$image = imagecreatetruecolor(400,400);
$black = imagecolorallocate($image, 0, 0, 0);
imagecolortransparent($image, $black);
/// rest of picture here
JPEGs do not support transparency and will likely never do so. This is because both methods of transparencycolor selection and alpha channelsare unsuitable for the JPEG format.
The first is impossible because JPEGs do not guarantee exact color matching, which means that a color you expect to be transparent may end up not. The second is because alpha channels usually have large blocks of transparency followed by a quick change to non-transparencysomething that JPEG handles very badly, because it relies on smooth changes in colors to compress well.
|
|