ExpertAlmost Posted December 27, 2008 Share Posted December 27, 2008 Good morning experts one and all! I am trying to draw an arc 20 pixels wide. Unfortunately, imagearc() only draws a one pixel line while imagefilledarc() does not fill the arc to a specified depth (just various "pie" fillings). So I tried a loop to draw 20 one-pixel lines. For some reason however, it appears that some pixels are dropped. This makes for a messy fill leaving black spots (or any background color) in the line. Attached is an example and the code is below. What is the best way to draw a "thick" arc? Thank you in advance for your kindness PS. How do you insert an image into messages on this board using the img tags? [/img] $img = imagecreatetruecolor(214, 345); $white = imagecolorallocate($img, 255, 255, 255); $red = imagecolorallocate($img, 255, 0, 0); for ($Cnt = 1; $Cnt <= 20; $Cnt++) { $Measure = 300 + $Cnt; imagearc($img, 20, 172, $Measure, $Measure, 315, 45, $red); } [attachment deleted by admin] Link to comment https://forums.phpfreaks.com/topic/138533-solved-how-to-draw-a-thick-arc-20-pixels/ Share on other sites More sharing options...
MadTechie Posted December 27, 2008 Share Posted December 27, 2008 Humm Well ImageSetThickness($img, 25); should do it but i think its a little buggy.. try saving as gif instead of png and use imagefilledarc twice, one with the foreground color then the background color ie <?php header("Content-Type: image/gif"); $img = imagecreatetruecolor(350, 350); $black = imagecolorallocate($img, 0, 0, 0); $red = imagecolorallocate($img, 255, 0, 0); imagefill($img,0, 0,$black); imagefilledarc($img, 70, 175, 300, 300, 315, 45, $red,IMG_COLOR_STYLEDBRUSHED); imagefilledarc($img, 60, 175, 300, 300, 315, 45, $black,IMG_COLOR_STYLEDBRUSHED); imagegif($img); ?> [attachment deleted by admin] Link to comment https://forums.phpfreaks.com/topic/138533-solved-how-to-draw-a-thick-arc-20-pixels/#findComment-724479 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.