Drawsprite mit RGB

Previous topic - Next topic

SharkRoyal

Hi,
ich bin der neue hier im Forum =D.
Vorhin bin ich auf ein Problem gestoßen. Ich hab ein Kreisbild mit LoadSprite geladen, und musste feststellen, dass ich es nicht farblich ändern konnte O.o... Und bevor ich 100.000 verschieden farbige Bilder erstelle, hab ich einfach ein Codeschnipsel geschrieben.


FUNCTION DrawSprite2: num%,x%,y%,red%,green%,blue%
LOCAL width%,height%, colour% = RGB(red,green,blue)
GETSPRITESIZE num,width,height
STARTPOLY num
    POLYVECTOR x,y, 0,0, colour
    POLYVECTOR x,y+height,0,height,colour
    POLYVECTOR x+width,y+height ,width,height,colour
    POLYVECTOR x+width,y,width,0,colour
ENDPOLY
ENDFUNCTION


ich hoffe es hilft auch anderen Personen

Gruß SharkRoyal

Schranz0r

Hi und willkommen im Forum:

Zu dem Codeschnipsel:

Schön das du deine Erfahrungen gleich teilst!
Du brauchst jedoch nur bei der deklaration der Variablen ein % oder # angeben.
Im weiteren Code wird die Variable also als Float oder Integer weiter als solche behandelt. ( Spare Tiparbeit, weil Programmierer sind ja "faule" Menschen :D )
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Slydog

[Google Translate:]
Überall, wo Sie verwenden:
'red%, blue%, green%'
es sein sollte:
'red%, green%, blue%'

Der "RGB () 'Befehl (R) ed (G) rün (B) lau.
Oder geben Sie einfach die letzte Farbe, um die Funktion als "Farbe%", und verwenden Sie nicht "RGB ()" in der Funktion, sondern nutzen "RGB ()" beim Aufruf der Funktion.

Aber, schön und einfach funktionieren!

[Original English:]
Everywhere you use:
'red%,blue%,green%'
it should be:
'red%,green%,blue%'

The 'RGB()' command is (R)ed (G)reen (B)lue.
Or, just pass the final colour to the function as 'colour%', and don't use 'RGB()' in the function, but use 'RGB()' when calling the function.

But, nice and simple function!
My current project (WIP) :: TwistedMaze <<  [Updated: 2015-11-25]

SharkRoyal

ohhh
Thank you. I didn't saw, that i switch green and blue paramaters. Thank you

But i change it.

Ich hab jetzt auch noch die % zeichen entfernt, damit man den Überblick leichter behält.
Und nochmal Danke für euer Lob.
ciao

monono

Hi Shark,
Was dir Slydog mit seiner Google-Translation noch sagen wollte ist, dass du nur einmal RGB() aufrufen musst. Also einmal vor dem STARTPOLY  color%=RGB(red, green, blue), da kommt dann eine Decimalzahl raus (z.B wird aus 255,0,0 -> 16711680). POLYVECTOR nimmt dann auch die Variable color%. Ist schneller und hübscher!
Wenn du das noch veränderst, ist´s perfekt. :)

SharkRoyal

Achso, gut zu wissen.
Danke, habs nun geändert