Anonymous user
Category:Action! Bitmap tools: Difference between revisions
no edit summary
No edit summary |
No edit summary |
||
Line 8:
The following module contains definition of grayscale image.
<lang Action!>MODULE
Line 60 ⟶ 59:
The following module contains definition of RGB color image.
<lang Action!>MODULE
Line 160 ⟶ 158:
ptr.b=c.b
FI
RETURN
MODULE</lang>
----
=== RGBLINE.ACT ===
The following module contains implementation of Bresenham's algorithm for drawing line on RGB color image.
<lang Action!>MODULE
INCLUDE "H6:RGBIMAGE.ACT" ;from task Bitmap
PROC RgbLine(RgbImage POINTER img
INT x1,y1,x2,y2 RGB POINTER c)
INT dx,dy,sx,sy,err,e2
IF x1>x2 THEN dx=x1-x2
ELSE dx=x2-x1 FI
IF y1>y2 THEN dy=y1-y2
ELSE dy=y2-y1 FI
IF x1<x2 THEN sx=1
ELSE sx=-1 FI
IF y1<y2 THEN sy=1
ELSE sy=-1 FI
IF dx>dy THEN err=dx/2
ELSE err=-dy/2 FI
DO
SetRgbPixel(img,x1,y1,c)
IF x1=x2 AND y1=y2 THEN
EXIT
FI
e2=err
IF e2>-dx THEN
err==-dy
x1==+sx
FI
IF e2<dy THEN
err==+dx
y1==+sy
FI
OD
RETURN
Line 169 ⟶ 214:
The following module is designed for loading images in PPM format version 5 (grayscale, binary).
<lang Action!>MODULE
|