Schwellenwert (wie bei Photoshop) von Vertex |
Hi! Ja Titel sagt es schon. http://mitglied.lycos.de/thevertex/Schwellenwert.zip [code:1:0664609aaa] Graphics 640,480,32,1 AppTitle "Schwellenwert" Image = LoadImage("Claudia.jpg") Dim ImgArr(294,374) SetBuffer ImageBuffer(Image) LockBuffer For X = 0 To 293 For Y = 0 To 374 RGB = ReadPixelFast(X,Y) R = (RGB And $FF0000) / $10000 G = (RGB And $FF00) / $100 B = (RGB And $FF) ImgArr(X,Y) = (R + G + B) / 3 Next Next UnlockBuffer SetBuffer BackBuffer() ClsColor 255,255,255 : Cls DrawBlock Image,153,53 : Flip WaitKey : FreeImage Image Value = 128 : MP = 1 While Not KeyDown(1) Cls Value = Value + MP If Value > 256 Then MP = -1 If Value < 0 Then MP = 1 LockBuffer For X = 0 To 293 For Y = 0 To 374 If ImgArr(X,Y) < Value Then WritePixelFast X + 153,Y + 53,0 EndIf Next Next UnlockBuffer Flip Wend End [/code:1:0664609aaa] Hierzu werden alle Pixel vorher in einem Array gelagert, damit man nicht immer unnötig ReadPixelfast zu benutzen. Speicherschonender wäre hie rsicherlich eine Bank, aber da würde denke ich nicht soviele das ganze begreifen. mfg olli |