(
HAPPY HALLOWEEN!)
Actually you could make it bigger than 256, but there's plenty of detail on each one.
You can play will all the variables and get drastic results...
You can also sharpen or lessen the blur by changing both 'get image' texture flags.
The code is my usual slop-style, but runs like a thief =)
+ Code Snippet`////// CUSTOMIZE /////
MaxCracks=20 `Max number of lines to start
WhitePass=500 `How much white to daub
GreyPass=1000 `How much grey to daub
BlackPass=2000 `How much black to daub
Stroke=4 `How far the pixel can travel per pass
Pos=1:Neg=-Pos `Offset for transparent clones
Alph=40 `Transparency for clones (too much will negate blur effect)
`///////
randomize timer():hide mouse:backdrop on
dim crackX(MaxCracks)
dim crackY(MaxCracks)
Stone=5000
Stone2=5001
Final=5003
Restart:
color backdrop rgb(rnd(40),rnd(40),rnd(40))
while spacekey():ENDWHILE
if image exist(Stone) then delete image Stone
if image exist(Final) then delete image Final
if sprite exist(Stone) then delete sprite Stone
if sprite exist(Stone2) then delete sprite Stone2
`MakeStone
for y=0 to 265
for x=0 to 265
c=rnd(99)+1
dot x,y,rgb(c,c,c)
NEXT
NEXT
for c=1 to MaxCracks
CrackX(c)=rnd(255)
CrackY(c)=rnd(255)
NEXT
for pass=1 to WhitePass
for c=1 to MaxCracks
col=200+rnd(45)
dot CrackX(c),CrackY(c),rgb(col,col,col)
inc CrackX(c),rnd(Stroke)-rnd(Stroke)
inc CrackY(c),rnd(Stroke)-rnd(Stroke)
NEXT
NEXT
for c=1 to MaxCracks
CrackX(c)=rnd(255)
CrackY(c)=rnd(255)
NEXT
for pass=1 to GreyPass
for c=1 to MaxCracks
col=100+rnd(45)
dot CrackX(c),CrackY(c),rgb(col,col,col)
inc CrackX(c),rnd(Stroke)-rnd(Stroke)
inc CrackY(c),rnd(Stroke)-rnd(Stroke)
NEXT
NEXT
for c=1 to MaxCracks
CrackX(c)=rnd(255)
CrackY(c)=rnd(255)
NEXT
for pass=1 to BlackPass
for c=1 to MaxCracks
col=1+rnd(25)
dot CrackX(c),CrackY(c),rgb(col,col,col)
inc CrackX(c),rnd(Stroke)-rnd(Stroke)
inc CrackY(c),rnd(Stroke)-rnd(Stroke)
NEXT
NEXT
get image Stone,0,0,265,265
sprite Stone, 0,0,Stone
`set sprite alpha Stone,50
hide sprite Stone
clone sprite Stone,Stone2
set sprite alpha Stone2,Alph
hide sprite Stone2
cls
paste sprite Stone,0,0
paste sprite Stone2,0,Neg
paste sprite Stone2,Pos,Neg
paste sprite Stone2,Pos,0
paste sprite Stone2,Pos,Pos
paste sprite Stone2,0,Pos
paste sprite Stone2,Neg,Pos
paste sprite Stone2,Neg,0
paste sprite Stone2,Neg,Neg
get image Final,4,4,260,260,1
cls
color backdrop rgb(rnd(40),rnd(40),rnd(40))
do
if spacekey() then goto ReStart
if lower$(inkey$())="s" then save image str$(rnd(10000))+".png",Final:backdrop off:print "...image saved!":wait 1000:backdrop on
paste image Final,(screen width()/2)-(image width(Final)/2),(screen height()/2)-(image height(Final)/2)
set cursor 0,0
print "SPACEKEY TO REDRAW"
print "S=SAVE .PNG"
LOOP