Bitmap/Flood fill: Difference between revisions
Content added Content deleted
(Added solution for Action!) |
|||
Line 16: | Line 16: | ||
RGB black,white,yellow,blue |
RGB black,white,yellow,blue |
||
DEFINE PTR="CARD" |
|||
TYPE PointB=[BYTE px,py] |
TYPE PointB=[BYTE px,py] |
||
⚫ | |||
⚫ | |||
PROC QueueInit(Queue POINTER q) |
PROC QueueInit(Queue POINTER q) |
||
Line 37: | Line 37: | ||
PROC QueuePush(Queue POINTER q PointB POINTER p) |
PROC QueuePush(Queue POINTER q PointB POINTER p) |
||
PTR rear |
|||
PointB POINTER tmp |
PointB POINTER tmp |
||
Line 69: | Line 69: | ||
PROC DrawImage(RgbImage POINTER img BYTE x,y) |
PROC DrawImage(RgbImage POINTER img BYTE x,y) |
||
RGB POINTER |
RGB POINTER p |
||
BYTE i,j |
BYTE i,j |
||
p=img.data |
|||
FOR j=0 TO img.h-1 |
FOR j=0 TO img.h-1 |
||
DO |
DO |
||
FOR i=0 TO img.w-1 |
FOR i=0 TO img.w-1 |
||
DO |
DO |
||
IF RgbEqual( |
IF RgbEqual(p,yellow) THEN |
||
Color=1 |
Color=1 |
||
ELSEIF RgbEqual( |
ELSEIF RgbEqual(p,white) THEN |
||
Color=2 |
Color=2 |
||
ELSEIF RgbEqual( |
ELSEIF RgbEqual(p,blue) THEN |
||
Color=3 |
Color=3 |
||
ELSE |
ELSE |
||
Line 87: | Line 87: | ||
FI |
FI |
||
Plot(x+i,y+j) |
Plot(x+i,y+j) |
||
p==+RGBSIZE |
|||
OD |
OD |
||
OD |
OD |
||
Line 148: | Line 148: | ||
RgbImage img |
RgbImage img |
||
BYTE CH=$02FC,size=[40] |
BYTE CH=$02FC,size=[40] |
||
BYTE ARRAY |
BYTE ARRAY p(4800) |
||
BYTE n |
BYTE n |
||
INT x,y |
INT x,y |
||
Line 164: | Line 164: | ||
RgbBlue(blue) |
RgbBlue(blue) |
||
InitRgbImage(img,size,size, |
InitRgbImage(img,size,size,p) |
||
FillRgbImage(img,black) |
FillRgbImage(img,black) |
||