Blur - Verwischen von Bildern.

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

Triton

Betreff: Blur - Verwischen von Bildern.

BeitragMi, März 03, 2004 18:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Der allseits bekannte Blureffekt:

Code: [AUSKLAPPEN]

;Blureffekt
;Abtastmuster von 9 Pixeln um Ursprungspixel -> Durchschnitt -> malen
;2003, by Triton
Graphics 640,480,32,1
SetBuffer BackBuffer()

Global pic = LoadImage("hier_bild_angeben.jpg")

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 Step 1
   For y = 0 To ImageHeight(pic)-1 Step 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
  • Zuletzt bearbeitet von Triton am Sa, Apr 30, 2005 15:34, insgesamt einmal bearbeitet
 

darkshadow

BeitragMi, März 03, 2004 20:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm. Folgt genau der selben Technik, mit der ich vorhin selbst ein Blur FX gecodet habe. Ich arbeite gerade mit Suco-X an einer Ansammlung von solchen FXs... Wird hier dann sicherlich auch im Code-Archive erscheinen.

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group