php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #45552 Full circle drawn instead of arc with very small angle
Submitted: 2008-07-18 09:27 UTC Modified: 2021-08-25 11:55 UTC
Votes:4
Avg. Score:4.0 ± 1.0
Reproduced:2 of 2 (100.0%)
Same Version:2 (100.0%)
Same OS:1 (50.0%)
From: kore@php.net Assigned: pajoye (profile)
Status: Wont fix Package: GD related
PHP Version: * OS: Linux 2.6.25-gentoo-r6
Private report: No CVE-ID: None
 [2008-07-18 09:27 UTC] kore@php.net
Description:
------------
Instead of a very small arc slice, a full circle is drawn when calling imagefilledarc with very small angles.

Reproduce code:
---------------
<?php

$image = imagecreatetruecolor( 200, 200 );

$bgColor = imagecolorallocatealpha( $image, 255, 255, 255, 127 );
imagealphablending( $image, true );
imagesavealpha( $image, true );
imagefill( $image, 1, 1, $bgColor );

$drawColor = imagecolorallocate( $image, 0, 0, 200 );
imagefilledarc( $image, 100, 100, 100, 100, 30, 30.1, $drawColor, IMG_ARC_PIE );

imagepng( $image, 'imagefilledarc_test.png' );
?>

Expected result:
----------------
An image with a very small arc slice.

Actual result:
--------------
A full circle, like: http://k023.de/imagefilledarc_test.png

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-08-26 16:26 UTC] michal dot dziemianko at gmail dot com
Hi,
For me it does not seem to be a bug. In the documentation the following declaration is given:

bool imagefilledarc  ( resource $image  , int $cx  , int $cy  , int $width  , int $height  , int $start  , int $end  , int $color  , int $style  )

Your 30.1 is truncated to 30 (conversion to int), then the function is called with parameters $start=30 and $end =30. 

Please note that start and end values are *angles* at which the arc starts/ends with respect to 0 degrees. As both start and end are 30 then it is full circle (drawing starts at 30degrees and goes clockwise all the way round until 30degrees is hit again). That is behaving as expected I think. 

Cheers,
Michal
 [2008-11-25 19:52 UTC] jani@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php


 [2008-11-25 19:53 UTC] pajoye@php.net
It is more like a feature request.
 [2015-05-07 18:24 UTC] cmb@php.net
-Type: Bug +Type: Feature/Change Request
 [2017-01-22 23:36 UTC] cmb@php.net
-Status: Assigned +Status: Suspended
 [2017-01-22 23:36 UTC] cmb@php.net
As this is a general libgd issue, I've forwarded the request to
<https://github.com/libgd/libgd/issues/372>, and suspend this
ticket for the time being.
 [2021-07-13 04:06 UTC] pajoye@php.net
This may benefit from a coming vector 2D support in GD:

https://github.com/libgd/libgd/wiki/3.0-Roadmap#use-of-advance-vector-raster

I don't think that will be fixed before (won't be accurate).
 [2021-08-25 11:55 UTC] cmb@php.net
-Status: Suspended +Status: Wont fix
 [2021-08-25 11:55 UTC] cmb@php.net
Good point.  So I'm closing this as WONTFIX.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 12:01:31 2024 UTC