#39273 [Bgs]: imagecopyresized() not compatable with alpha channel
| From: | seth at pricepages dot org | Date: | Sat, 28 Oct 2006 14:43:22 +0000 |
| Subject: | #39273 [Bgs]: imagecopyresized() not compatable with alpha channel | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-104114@lists.php.net to get a copy of this message | ||
ID: 39273
User updated by: seth at pricepages dot org
Reported By: seth at pricepages dot org
Status: Bogus
Bug Type: GD related
Operating System: Mac 10.4
PHP Version: 5.1.6
Assigned To: pajoye
New Comment:
translucide (French) = translucent (English)
Sorry, that confused me for a bit.
"Boolean transparency" means that the pixel is either fully
transparent, or fully opaque. Never partially transparent.
The area outside of the line is fine, it should be
transparent and it is in your image. This is correct.
What is suffering from "boolean transparency" are the edges
of the line. For example:
In your example script, one alpha value was 63, and the
other was 127. In your output PNG, those values have been
changed to 0 and 127.
I should mention that if you are using Microsoft's Internet
Explorer version 6 or less, a PNG image will display with
boolean transparency due to a bug in the browser. So you
won't be able to see the difference. Use FireFox.
Previous Comments:
------------------------------------------------------------------------
[2006-10-28 14:19:46] pajoye@php.net
Pardon? What is a boolean transparency?
Please understand these three things:
- The transparent color is one *color*, an index for palette based
image or 32bits value for truecolor images. It defines which color is
used as the *background* color (like white is the background color of
a white paper).
- The *alpha* channel of a pixel defines how translucide the pixel has
to be. It has nothing to do with the transparent color.
- Your image has *no* transparent color but many pixels with various
*alpha* levels.
Load the result images in your favourite paint programs to see what I
mean. The area outside the line is translucide, it is due to the alpha
channel.
------------------------------------------------------------------------
[2006-10-28 14:11:56] seth at pricepages dot org
But that has one of the bugs that I pointed out: boolean
transparency. The original doesn't have that problem.
------------------------------------------------------------------------
[2006-10-28 14:04:59] pajoye@php.net
Use the code I just gave you, it does create the resized version (by
copying):
http://blog.thepimp.net/misc/39273_out.png
------------------------------------------------------------------------
[2006-10-28 13:15:45] seth at pricepages dot org
I ran your code before I posted my last comment, but I still
don't know what you are implying. The results are exactly as I
expect them to be.
If this bug is bogus, please tell me how I can create an
enlarged version of test.png? It isn't possible without
applying a fix.
------------------------------------------------------------------------
[2006-10-28 10:49:54] pajoye@php.net
"I am aware that the image is fully black, except for
variations in alpha. That is why this is a bug related to
the alpha channel and not any other."
You are not aware that your image is *NOT* fully black.
Background color (the transparent color) is not the same than a color
with a ALPHA component. Please run the code I gave you, read the
results (like the values of the channels in these two pixels, or any
other).
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/39273
--
Edit this bug report at http://bugs.php.net/?id=39273&edit=1