PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

Home » Images » Image_Graph » Bug #4113

Image_Graph_Driver_GD::pieSlice() warnings

Details

Submitted2005-04-11 04:40 UTC
Fromaharvey at optimiser dot com
Assignednosey
StatusClosed
PackageImage_Graph
PHP Version5.0.3
OSAny
Roadmaps(Not assigned)

Comments

[2005-04-11 04:40 UTC] aharvey at optimiser dot com

Description:
------------
Not enough points are generated within the $polygon array in Image_Graph_Driver_GD::pieSlice() when a pie slice has 0 width. A patch addressing this against 0.3.0 is available at http://lawngnome.cernun.net/junk/pieSlice.diff

Reproduce code:
---------------
<?php
include_once 'Image/Graph.php';
error_reporting(E_ALL);

$graph = Image_Graph::factory('graph', array(640, 480));
$plotarea = $graph->addNew('plotarea');
$plotarea->hideAxis();
$dataset = Image_Graph::factory('Image_Graph_Dataset_Trivial');
$dataset->addPoint(1, 1);
$dataset->addPoint(2, 2);
$dataset->addPoint(3, 0);
$plot = $plotarea->addNew('Image_Graph_Plot_Pie', $dataset);
$plot->setLineColor('black');
$fillstyle = Image_Graph::factory('Image_Graph_Fill_Array');
$fillstyle->addColor('red');
$fillstyle->addColor('green');
$fillstyle->addColor('blue');
$plot->setFillStyle($fillstyle);
$graph->done();
?>

Expected result:
----------------
A graph should appear with two visible slices, as the third slice has zero width.

Actual result:
--------------
The graph is generated, but the following warnings appear before the graph data:

Warning: imagefilledpolygon() [function.imagefilledpolygon]: You must have at least 3 points in your array in /usr/share/pear/Image/Graph/Driver/GD.php on line 964

Warning: imagepolygon() [function.imagepolygon]: You must have at least 3 points in your array in /usr/share/pear/Image/Graph/Driver/GD.php on line 968

This is caused by the $polygon array having only four elements instead of the required six.

[2005-04-17 06:44 UTC] pear dot nosey at veggerby dot dk

Thanks for your input and your patch.

I will apply it at the first given opportunity.

/Jesper

[2005-05-17 21:15 UTC] pear dot nosey at veggerby dot dk

This bug has been fixed in CVS.

In case this was a documentation problem, the fix will show up at the
end of next Sunday (CET) on pear.php.net.

In case this was a pear.php.net website problem, the change will show
up on the website in short time.

Thank you for the report, and for helping us make PEAR better.