Req #45552 [Sus]: Full circle drawn instead of arc with very small angle

From: Date: Tue, 13 Jul 2021 04:06:15 +0000
Subject: Req #45552 [Sus]: Full circle drawn instead of arc with very small angle
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-234996@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=45552&edit=1

 ID:                 45552
 Updated by:         pajoye@php.net
 Reported by:        kore@php.net
 Summary:            Full circle drawn instead of arc with very small
                     angle
 Status:             Suspended
 Type:               Feature/Change Request
 Package:            GD related
 Operating System:   Linux 2.6.25-gentoo-r6
 PHP Version:        *
 Assigned To:        pajoye
 Block user comment: N
 Private report:     N

 New Comment:

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).


Previous Comments:
------------------------------------------------------------------------
[2017-01-22 23:36:32] 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.

------------------------------------------------------------------------
[2008-11-25 19:53:31] pajoye@php.net

It is more like a feature request.

------------------------------------------------------------------------
[2008-11-25 19:52:19] 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-08-26 16:26:14] 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-07-18 09:27:07] 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


------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=45552&edit=1


Thread (8 messages)

« previous php.bugs (#234996) next »