Category:Action! Bitmap tools: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 204:
y1==+sy
FI
OD
RETURN
 
MODULE</lang>
 
----
 
=== RGBCIRCL.ACT ===
 
The following module contains implementation of drawing circle on RGB color image using midpoint circle algorithm.
<lang Action!>MODULE
 
INCLUDE "H6:RGBIMAGE.ACT" ;from task Bitmap
 
PROC RgbCircle(RgbImage POINTER img
INT x0,y0,radius RGB POINTER c)
INT f,ddfx,ddfy,x,y
 
f=1-radius
ddfx=0 ddfy=-2*radius
x=0 y=radius
SetRgbPixel(img,x0,y0+radius,c)
SetRgbPixel(img,x0,y0-radius,c)
SetRgbPixel(img,x0+radius,y0,c)
SetRgbPixel(img,x0-radius,y0,c)
 
WHILE x<y
DO
IF f>=0 THEN
y==-1
ddfy==+2
f==+ddfy
FI
x==+1
ddfx==+2
f==+ddfx+1
SetRgbPixel(img,x0+x,y0+y,c)
SetRgbPixel(img,x0-x,y0+y,c)
SetRgbPixel(img,x0+x,y0-y,c)
SetRgbPixel(img,x0-x,y0-y,c)
SetRgbPixel(img,x0+y,y0+x,c)
SetRgbPixel(img,x0-y,y0+x,c)
SetRgbPixel(img,x0+y,y0-x,c)
SetRgbPixel(img,x0-y,y0-x,c)
OD
RETURN
Anonymous user