Bild in schwarz-Weiß-Bild umwandeln
Übersicht

AngelD01Betreff: Bild in schwarz-Weiß-Bild umwandeln |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Ich hab ein kleines Problem und zwar würde ich gerne ein Farb-Bild in ein Schwarz-Weiß-Bild umwandeln. Ich hab da auch schon mal versucht was zu schreiben, aber irgendwie geht das Prog nicht. Das Bild sieht dann hinterher nur irgendwie komisch aus. Also was ist daran Falsch. Achja und ich will es mit WritePixelFast machen. Code: [AUSKLAPPEN] Graphics 800, 600 Bild = LoadImage ("sw.bmp") drawImage Bild, 0, 0 rgb = 0 For y = 0 To ImageHeight (Bild) For x = 0 To ImageWidth (Bild) GetColor (x,y) r = ColorRed () b = ColorBlue () g = ColorGreen () mittel = (r + b + g) / 3 rgb = rgb + mittel ;Blau rgb = rgb + (mittel shl 4) ;Grün rgb = rgb + (mittel shl 8) ;Rot WritePixelFast x, y, rgb Next Next währe nett, wenn sich das mal einer angucken würde Danke Bye AngelD01 |
||
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
du must in jedem neuen schleifendurchlauf rgb auf 0 setzen
[edit] muss man bei WritePixelFast nicht irgendwo LockBuffer haben ????? |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] Graphics 800, 600
Versuchs mal so. Hab das jedoch nicht getestet. Ausserdem solltest du statt GetColor ReadPixelFast benutzen.
Bild = LoadImage ("sw.bmp") drawImage Bild, 0, 0 rgb = 0 graphicsbuf = GraphicsBuffer() ; <-- LockBuffer graphicsbuf ; <-- SetBuffer ImageBuffer(Bild) ; <-- For y = 0 To ImageHeight (Bild) For x = 0 To ImageWidth (Bild) rgb = 0 ; <-- GetColor (x,y) r = ColorRed () b = ColorBlue () g = ColorGreen () mittel = (r + b + g) / 3 rgb = rgb + mittel ;Blau rgb = rgb + (mittel shl 4) ;Grün rgb = rgb + (mittel shl 8) ;Rot WritePixelFast x, y, rgb, graphicsbuf ; <-- Next Next UnlockBuffer graphicsbuf ; <-- |
||
![]() |
Clonker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 800, 600 Bild = LoadImage ("sw.bmp") drawImage Bild, 0, 0 rgb = 0 LockBuffer(FrontBuffer()) For y = 0 To ImageHeight (Bild) For x = 0 To ImageWidth (Bild) rgb = ReadPixelFast(x,y) a=(rgb AND $FF000000)/$1000000 r=(rgb AND $FF0000)/$10000 g=(rgb AND $FF00)/$100 b=rgb AND $FF mittel = (r + b + g) / 3 r = mittel g = mittel b = mittel rgb=a*$1000000 + r*$10000 + g*$100 + b WritePixelFast x, y, rgb Next Next unLockBuffer(FrontBuffer()) waitkey() |
||
Die exzessive Akkumulation von Fremdwörtern suggeriert pseudointellektuelle Kompetenz.
Athlon XP 2800|Radeon 9600 Pro|512MB DDR RAM|240GB Festplatte |
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
clonker, was ist wenn er in den backbuffer schreibt??
DIe am besten-gehende version: Code: [AUSKLAPPEN] Graphics 800, 600
Bild = LoadImage ("sw.bmp") drawImage Bild, 0, 0 rgb = 0 graphicsbuf=GraphicsBuffer() LockBuffer(graphicsbuf) ;edit: falscher variablnname davor For y = 0 To ImageHeight (Bild) For x = 0 To ImageWidth (Bild) rgb = ReadPixelFast(x,y) a=(rgb AND $FF000000)/$1000000 r=(rgb AND $FF0000)/$10000 g=(rgb AND $FF00)/$100 b=rgb AND $FF mittel = (r + b + g) / 3 r = mittel g = mittel b = mittel rgb=a*$1000000 + r*$10000 + g*$100 + b WritePixelFast x, y, rgb Next Next unLockBuffer(graphicsbuf) waitkey() |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
- Zuletzt bearbeitet von Kryan am Di, Apr 13, 2004 19:01, insgesamt einmal bearbeitet
![]() |
Clonker |
![]() Antworten mit Zitat ![]() |
---|---|---|
LockBuffer(graphics) ??
so ist noch besser: Code: [AUSKLAPPEN] Graphics 800, 600 Bild = LoadImage ("sw.bmp") drawImage Bild, 0, 0 rgb = 0 LockBuffer() For y = 0 To ImageHeight (Bild) For x = 0 To ImageWidth (Bild) rgb = ReadPixelFast(x,y) a=(rgb AND $FF000000)/$1000000 r=(rgb AND $FF0000)/$10000 g=(rgb AND $FF00)/$100 b=rgb AND $FF mittel = (r + b + g) / 3 r = mittel g = mittel b = mittel rgb=a*$1000000 + r*$10000 + g*$100 + b WritePixelFast x, y, rgb Next Next unLockBuffer() waitkey() |
||
Die exzessive Akkumulation von Fremdwörtern suggeriert pseudointellektuelle Kompetenz.
Athlon XP 2800|Radeon 9600 Pro|512MB DDR RAM|240GB Festplatte |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group