|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #63814 angles parameters in imagefilledarc are integers, they should be float
Submitted: 2012-12-20 12:32 UTC Modified: 2013-01-02 09:19 UTC
From: webmaster at fxtop dot com Assigned:
Status: Wont fix Package: GD related
PHP Version: 5.4.9 OS: Windows
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2012-12-20 12:32 UTC] webmaster at fxtop dot com
see sample result at

angles are truncated to nearest integer, in imagefilledarc function, they shouldn't

you can change parameter if you like

From manual page:

Test script:
header("Content-type: image/jpeg");

if (isset($_GET["DEGRE"])){ $lDegre=$_GET["DEGRE"];}
$image  = imagecreatetruecolor($lSizeX, $lSizeY);
$colorGreen = imagecolorallocate($image, 0, 255, 0);
// background coming from with some little changes

//HERE I ROUND DEGRE PARAMETER BECAUSE imagefilledarc only accept integers (I prefer it rounded than truncated)
$lResult|=imagefilledarc ($image , 460 , 474 , 2*430 , 2*430  , -$lNumDegre , 0, $colorGreen , IMG_ARC_PIE );
$lResult|=imagecopymerge($image, $fond, 0, 0, 0 , 0, $lSizeX,$lSizeY,75);
imagejpeg($image, "temp.jpg");
echo file_get_contents("temp.jpg");

Expected result:
imagefilledarc should accept float parameters for "start" and "end" parameters.
As you can see on sample at green backgound allways fall on a degre graduation  of the protactor. 


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2012-12-20 15:24 UTC]
the gd extension is mostly a wrapper for gd library.

As gd library doesn't accept float values for this comment, I think this is not possible.
 [2012-12-28 10:57 UTC]
-Status: Open +Status: Wont fix
 [2012-12-28 10:57 UTC]
That's right, gd takes only integers for coordinates as they're literally pixels. See here for arcs

If you work with float data, you probably will need to do conversion from/to int.
 [2012-12-28 14:12 UTC] webmaster at fxtop dot com
Hello, thanks for your investigation.
I don't blame that coordinates in pixel are integers, that's normal.
The problem is that angles are integers, which is an undue limitation : angles are rounded to nearest degree.  In astronomy, they deal with seconds of arc, which is 1/3600 of a degree. 

If problem is inside an external library, it should be reported to that library.
What is the proper website to report such limitation ?
 [2013-01-02 09:19 UTC]
Of course you can discuss that on , but i don't think it's possible to get around that without using some anti aliasing technics. Also you might want to take a look at the Cairo binding which provides a vector graphics API.
PHP Copyright © 2001-2023 The PHP Group
All rights reserved.
Last updated: Sat Sep 30 17:01:24 2023 UTC