;** Blureffekt
;** Abtastmuster von 9 Pixeln um Ursprungspixel -> Durchschnitt -> malen
;** 2003, by Triton
Graphics 640,480,32,1
SetBuffer BackBuffer()
Global pic = LoadImage("bbchvubanner.bmp")
While Not KeyDown(1)
If MouseDown(1) Then blur pic
DrawBlock pic, 0,0
Color 0,0,0
Text 0,0, "Maustaste für Blureffekt"
Color 255,255,255
Text 1,1, "Maustaste für Blureffekt"
Flip
Cls
Wend
;---
Function blur(pic)
SetBuffer ImageBuffer(pic)
LockBuffer ImageBuffer(pic)
For x = 0 To ImageWidth(pic)-1
For y = 0 To ImageHeight(pic)-1
rgb1 = ReadPixelFast(x,y) ;Mitte
rgb2 = ReadPixelFast(x+1,y) ;Rechts
rgb3 = ReadPixelFast(x,y+1) ;Unten
rgb3 = ReadPixelFast(x+1,y+1) ;Unten-Rechts
rgb5 = ReadPixelFast(x-1,y) ;Links
rgb6 = ReadPixelFast(x,y-1) ;Oben
rgb7 = ReadPixelFast(x-1,y-1) ;Oben-Links
rgb8 = ReadPixelFast(x+1,y-1) ;Oben-Rechts
rgb9 = ReadPixelFast(x-1,y+1) ;Unten-Links
r1=(rgb1 And $FF0000)/$10000
g1=(rgb1 And $FF00)/$100
b1=rgb1 And $FF
r2=(rgb2 And $FF0000)/$10000
g2=(rgb2 And $FF00)/$100
b2=rgb2 And $FF
r3=(rgb3 And $FF0000)/$10000
g3=(rgb3 And $FF00)/$100
b3=rgb3 And $FF
r4=(rgb3 And $FF0000)/$10000
g4=(rgb3 And $FF00)/$100
b4=rgb3 And $FF
r5=(rgb5 And $FF0000)/$10000
g5=(rgb5 And $FF00)/$100
b5=rgb5 And $FF
r6=(rgb6 And $FF0000)/$10000
g6=(rgb6 And $FF00)/$100
b6=rgb6 And $FF
r7=(rgb7 And $FF0000)/$10000
g7=(rgb7 And $FF00)/$100
b7=rgb7 And $FF
r8=(rgb8 And $FF0000)/$10000
g8=(rgb8 And $FF00)/$100
b8=rgb8 And $FF
r9=(rgb9 And $FF0000)/$10000
g9=(rgb9 And $FF00)/$100
b9=rgb9 And $FF
rneu#=(r1+r2+r3+r4+r5+r6+r7+r8+r9)/9
gneu#=(g1+g2+g3+g4+g5+g6+g7+g8+g9)/9
bneu#=(b1+b2+b3+b4+b5+b6+b7+b8+b9)/9
rgbneu#=255*$1000000 + rneu#*$10000 + gneu#*$100 + bneu#
WritePixelFast x,y,rgbneu
Next
Next
UnlockBuffer ImageBuffer(pic)
SetBuffer BackBuffer()
End Function
|