I have this code i wrote for a fill bucket tool used on a bitmap member. It works fine
but its slow. I would like you all, if you would, to see if theres away i can speed up
the process. This is a behavior attatched to a bitmap. The bitmap i'm using is 609x426
px. A warning to those who do test this, it took a little over a minuite to fill 100%
of my bitmap. Also name the bitmap.
--
global mybrushcolor
on beginsprite me
myBrushColor = rgb(255,0,0)
end
on mouseup me
fillarea
end
on fillarea
x = the mouseh-sprite(spritenum).rect.left
y = the mousev-sprite(spritenum).rect.top
myname = sprite(spritenum).member.name
canvaseimage = member(myname).image
--
mycolor = canvaseimage.getPixel(point(x,y))
if mycolor = mybrushcolor then exit
--
t = 0
b = sprite(spritenum).height
l = 0
r = sprite(spritenum).width
--
cursor 4
--
colorfillrepeat(x,y,mycolor,t,b,l,r,canvaseimage,myname)
member(myname).image = canvaseimage
--
cursor -1
end
on colorfillrepeat x,y,mycolor,t,b,l,r,canvaseimage,myname
if x < l or x > r then exit
if y < t or y > b then exit
--
thecolor = canvaseimage.getPixel(point(x,y))
--
if thecolor <> mycolor then exit
--
canvaseimage.setPixel(x,y,mybrushcolor)
--
colorfillrepeat((x+1),y,mycolor,t,b,l,r,canvaseimage,myname)
colorfillrepeat((x-1),y,mycolor,t,b,l,r,canvaseimage,myname)
colorfillrepeat((x),(y+1),mycolor,t,b,l,r,canvaseimage,myname)
colorfillrepeat((x),(y-1),mycolor,t,b,l,r,canvaseimage,myname)
end
--
One more note: you can use directors drag and drop canvas script on the bitmap to set
up a defalt paint brush. Use this to draw various shapes on the bitmap and get the
full effect of the fill bucket script.
thanks in advance
--jR
[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL
PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping
with programming Lingo. Thanks!]