PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie kann man Sprites mit einer bestimmten Farbe einfärben?


RavenEx
2004-11-17, 17:49:52
Hi,

ich will ein kleines Puzzleverschiebespiel programmieren bei dem das ausgewählte Puzzleteil farblich mit einem Gelbton hervorgehoben werden soll.
Leider habe ich keine Ahnung wie man so etwas, das Einfärben macht, wie macht man so etwas?

Am liebsten würde ich das Puzzleteil natürlich einfach mit einer beliebigen Farbe übermalen,
aber das macht natürlich keinen Sinn, da es sich hier bei dem Puzzle um ein Foto handelt,
was natürlich auch noch dann erkennbar sein soll, wenn es ausgewählt und farblich markiert ist.

Programmieren will ich das ganze in Java.

ethrandil
2004-11-17, 20:12:01
Mit dem Java2D-Framework kannst du halbtransparent zeichnen, dann kannst du halbtransparent ein gelbes Rechteck drüberlegen.

- Eth

Wirbelhut
2004-11-17, 23:02:12
Ich habe genau das selbe Problem, nutze aber kein Java sondern will etwas eigenes in C++ schreiben ohne externe Librarys dabei zu verwenden.
Wie löse ich dieses Problem?

ethrandil
2004-11-18, 00:14:55
Wenn du das wirklich selebr machen willst, und die Pixel einzeln ansprechen kannst, dann berechne einfach für jeden pixel einen neuen Farbwert. zB so:


int[] gelb = [255,0,255]; //weiß das grade selber nicht, kommt aufs sFarbschema an

public int[] getNewColor(int[] old){
//Farben linear überblenden
return [(gelb[0]+old[0])*0.5, (gelb[1]+old[1])*0.5, (gelb[2]+old[2])*0.5];
}


Der Code ist in irgendeiner Fantasiesprache, aber verständlich, oder?

- Eth

P.S.: Dürfte bei größeren Bildern recht langsam sein

Gast
2004-11-18, 01:50:28
man könnte vielleicht ein gelb-durchsichtiges schachbrett-muster über das bild legen.