ID: 43204
Updated by: [EMAIL PROTECTED]
Reported By: andreythinking at gmail dot com
-Status: Open
+Status: Feedback
Bug Type: GD related
Operating System: Linux Mandrake 10.0 Official
PHP Version: 5.2.4
Assigned To: pajoye
New Comment:
Please try using the _latest_ php 5.2 release or using a snapshot.
I can't reproduce your problem. By the way, in your latest example, you
use $color and not $fgcolor, it is certainly why you don't see the
pixels, they are drawn using the background colors (index color 0).
Previous Comments:
------------------------------------------------------------------------
[2007-11-12 11:19:56] andreythinking at gmail dot com
I _always_ use bundled in gd library. My configure line is:
./configure --prefix=/usr/local/php5 --with-apache=../apache_1.3.29
--with-gd --with-jpeg-dir=/usr --with-png-dir=/usr
--with-zlib-dir=/usr/lib/python2.3/lib-dynload/
* * *
Oh! I discover new variations of this bug.
Try to draw 1x1 pixel rectangle with another coordinats:
imageRectangle($img,1,1,1,1,$color);
imageRectangle($img,5,5,5,5,$color);
imageRectangle($img,10,10,10,10,$color);
etc.
The parallelepiped 3x1 pixels is burned.
------------------------------------------------------------------------
[2007-11-12 09:54:45] [EMAIL PROTECTED]
Try with a 5.2 snapshot or with 5.2.5, the problem should be fixed in
5.2.5 and in cvs. This regression was introduced in 5.2.4.
If you use an external library, you have to use the CVS version of
libgd. The last release does not contain the fix (2.0.35).
However, as suggested by Jani, you should use the bundled library. It
contains many more features (fixes are synced now, except for the
threaded environments). To do so use the "--with-gd" configure option
without any argument.
------------------------------------------------------------------------
[2007-11-11 18:54:57] [EMAIL PROTECTED]
What was the configure line you used? (PHP comes with bundled GD
library with lot of fixes, if you didn't use that, try it)
------------------------------------------------------------------------
[2007-11-06 12:33:48] andreythinking at gmail dot com
Of cause, it possible to use another function to put one pixel, but
rectangle required, to work inside user function, that makes diagrams
etc.
------------------------------------------------------------------------
[2007-11-06 11:04:40] andreythinking at gmail dot com
Description:
------------
Php-5.2.4 draw parallelepiped instead square, when recieves coordinats
0,0,0,0 (1x1 pixel).
On another sizes this fenomen disappears.
* * *
Some system features (results of command rpm -qa | grep gd):
ifplugd-0.21b-1mdk
libgdbm2-1.8.0-24mdk
sysklogd-1.4.1-5mdk
libgdk_pixbuf2.0_0-2.2.4-9mdk
libgdk-pixbuf2-0.22.0-2mdk
perl-GTK-GdkPixbuf-0.7009-1mdk
gdk-pixbuf-loaders-0.22.0-2mdk
perl-GTK-GdkImlib-0.7009-1mdk
gdm-2.4.4.7-6mdk
libgdkcardimage0-2.4.2-2mdk
No strange gd, compiled-in used.
Reproduce code:
---------------
<?php
$img=imageCreate(20,30);
$bgcolor=imageColorAllocate($img,255,0,255);
$fgcolor=imageColorAllocate($img,0,255,255);
imageFill($img,0,0,$bgcolor);
imageRectangle($img,0,0,0,0,$fgcolor);
header("content-type:image/png");
imagePNG($img);
imageColorDeallocate($img,$fgcolor);
imageColorDeallocate($img,$bgcolor);
imageDestroy($img);
?>
Expected result:
----------------
Square 1x1 pixel size.
Actual result:
--------------
Parallelepiped 1x2 pixels:
2px on Y-axis.
1px on X-axis.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=43204&edit=1