Images Färben- Wie dass ?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

ToeB

Betreff: Images Färben- Wie dass ?

BeitragFr, Okt 26, 2007 18:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich wollte ein Spiel machen, wo man sich die Spielerfarbe aussuchen kann. Ich hab jetzt aber kein bock, zigtausende Bilder zu malen. Wie kann man das vereinfachen, dass ich pratisch sowas wie eine Farbige Maske darüber lgen ?


thx und mfg Crack93
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Lobby

BeitragFr, Okt 26, 2007 18:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Indem du dir ne Funktion schreibst die dir so ein Bild ausgibt, so einfach ist das... Very Happy

Hier eine Beispielfunktion, die du auch verwenden könntest:
Code: [AUSKLAPPEN]
Function DrawImageC(image,px,py,r,g,b,frame=0,tr=255,tg=0,tb=255)
    buffer0=ImageBuffer(image,frame)
   buffer1=GraphicsBuffer()
    xm=ImageWidth(image)
    ym=ImageHeight(image)
    LockBuffer buffer0
    LockBuffer buffer1
    crgb=r*$10000+g*$100+b
    For y=0 To ym-1
        For x=0 To xm-1
            rgb=ReadPixelFast(x,y,buffer0)
            nr=(rgb And $FF0000)/$10000
            ng=(rgb And $FF00)/$100
            nb=rgb And $FF
            If nr<>tr Or ng<>tg Or nb<>tb Then
              WritePixelFast x+px,y+py,crgb,buffer1
            ;Else
            ;   WritePixelFast x+px,y+py,rgb,BackBuffer();Wenn der hintergrund mit gemacht werden soll
            EndIf
        Next
    Next
    UnlockBuffer buffer0
   UnlockBuffer buffer1
End Function

Diese Funktion z.B. zeichnet dir ein Bild immer in einer Bestimmten Farbe(r,g,b),
die Farbe die nicht gezeichnet werden soll wird mit tg,tb,tr angegeben
(die Funktion habe ich mit jemand anderem gemacht, dem ich immernoch dankbar dafür bin Wink )
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux

Eingeproggt

BeitragFr, Okt 26, 2007 19:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab mir auch mal sowas in der Art gemacht. Aus dieser Erfehrung will ich noch dazu sagen: Echtzeittauglich ist das aber nur bei seeehr kleinen Bildern.
Die naheliegendste Lösung ist: Auf imagebuffer malen und dann das Image wie ein frisch geladenes verwenden.

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group