Bild einfärben

FloOo

Mitglied
Hallo Leute,
ich bin gerade dabei einen kleinen "Partikel Emitter" zu machen und möchte gerne, dass sich die Farbe des Partikels, also des Sprites, über die Zeit ändern kann. Das Standartbild ist einfach nur ein weißer transparenter Verlauf, den ich gerne einfach nur in einer Farbe meiner Wahl einfärben will. Die Transparenz soll dabei aber erhalten bleiben.
Hier mal ein Bild wie ich mir das so gedacht habe^^

partikel.jpg

(mit Photoshop ist das halt einfacher)

Ich weis leider nicht wie ich das mathematisch und programmiertechnisch umsetzen kann -.-
Hoffe es kann mir jemand helfen .. das wär echt nett =)
 

Marco13

Top Contributor
Wie liegen denn die Daten bisher vor? Wenn man davon ausgeht, dass man alle "betroffenen" Pixel in irgendeiner Weise in ein "Color"-Objekt packen kann, kann man auf Basis dessen eine Color erstellen, die man (am einfachsten) über das HSB-Farbmodell (genagenommen den Hue-Wert) entsprechend einfärbt. Wenn es effizient sein soll, sollte man sich aber evtl. was anderes überlegen.... ;)
 

FloOo

Mitglied
also das Weiße ist ein PNG-Bild .. da möchte ich praktisch einen Filter rüberlaufen lassen, der mir das Bild zb rot einfärbt.
Ich weis nur nicht wie die mathmatische Funktion dafür ist ein Bild einzufärben und wie man Bilder mit Java Filtert.
Effizienz ist auch noch so eine Sache, aber ich habe mir das so gedacht:
Ich erstelle erst alle Bilder mit den verschiedenen Farben und speichere die in einer Animation und muss dann nur noch das Bild auswechseln anstatt jedes mal das Bild neu einzufärben ;)
ma sehen ob das klappt, wenn ich erstmal schlauer bin =)
 

Marco13

Top Contributor
Ja nee :) in java gibt's kein PNG. Ich nehme an, du hast dann irgendwann ein BufferedImage. Ganz grob könnte man das Einfärben dann so machen (halb-Pseudocode)
Java:
for (int x=0; x<bi.getWidth(); x++)
{
    for (int y=0; y<bi.getHeight(); y++)
    {
        int rgbIn = bi.getRGB(x,y);
        Color cIn = new Color(rgbIn);
        int r = cIn.getRed();
        int g = cIn.getGreen();
        int b = cIn.getBlue();
        float hsb[] = Color.RGBtoHSB(r,g,b,null);
        hsb[0] = ... // Ein Hue für die gewünschte Farbe
        hsb[1] = ... // Saturation ggf. anpassen
        hsb[2] = ... // Brightness ggf. anpassen
        Color c = Color.getHSBColor(hsb[0], hsb[1], hsb[2]);
        r = c.getRed();
        g = c.getGreen();
        b = c.getBlue();
        Color cOut = new Color(r,g,b,cIn.getAlpha());
        int rgbOut = cOut.getRGB();
        bi.setRGB(x,y,rbgOut);
    }
}
Ist aber grottigst inenffizient und kompliziert, wenn man die "Rahmenbedingungen" genauer kennte (und mehr zeit inverstierte), könnte man da was schöneres machen....
 

FloOo

Mitglied
hmm ja so ungefähr dachte ich mir das^^
ich nehme jetzt aber die variante, bei der man selbst die bilder erstellen muss und diese dann später in einer animation umgewandelt werden .. das ist am einfachsten .. trotzdem danke ;)
 

Marco13

Top Contributor
Es ginge auch kompakter und eleganter mit einer ColorConvertOp, aber da hätt' ich den Code nicht aus dem Kopf hinschreiben können :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Bild wird nicht geladen Spiele- und Multimedia-Programmierung 4
D Java Bild bewegen funktioniert nicht Spiele- und Multimedia-Programmierung 8
J OpenGL Bild wird nicht richtig angezeigt Spiele- und Multimedia-Programmierung 2
S Wie kann ich ein Bild in einen Frame einfügen? Spiele- und Multimedia-Programmierung 2
U DPI von einem Bild definieren Spiele- und Multimedia-Programmierung 5
J Bild ohne Quallitätsverlust skalieren Spiele- und Multimedia-Programmierung 11
Silvascus Bild --> JFrame Hintergrund Spiele- und Multimedia-Programmierung 3
D getsubimage aus BufferedImage und Rueckwandlung in ein ImagePlus bild Spiele- und Multimedia-Programmierung 0
A Bild(sequenz) wird nicht geladen Spiele- und Multimedia-Programmierung 1
windl EXIFF Header in ein Bild schreiben Spiele- und Multimedia-Programmierung 0
L Bild in Richtung Maus drehen Spiele- und Multimedia-Programmierung 4
B Bild ohne Image auf die Festplatte streamen Spiele- und Multimedia-Programmierung 4
R [lwjgl] Cursor -> versetzt Zeichnen / Bild ist umgedreht Spiele- und Multimedia-Programmierung 2
F [JMyron] Bild von int[] zu BufferedImage Spiele- und Multimedia-Programmierung 2
Hoppelmann Alphamap (Bild) für 3D-Terrain generieren Spiele- und Multimedia-Programmierung 2
K Bild von USB-Webcam über JMF Spiele- und Multimedia-Programmierung 2
M Farbwerte für Flächen aus einem Bild erkennen Spiele- und Multimedia-Programmierung 3
S Wolken Bild/Grafik vom Programm erstellen lassen Spiele- und Multimedia-Programmierung 11
P Bild Pixelweise auslesen Spiele- und Multimedia-Programmierung 13
K Bild berührt Bild Spiele- und Multimedia-Programmierung 29
aze Nicht rechteckiges Bild zeichnen Spiele- und Multimedia-Programmierung 5
A Bild einer Webcam auffangen Spiele- und Multimedia-Programmierung 20
B Generierung einer Wertetabelle aus einem Bild Spiele- und Multimedia-Programmierung 3
lumo LWJGL - Bild rendern Spiele- und Multimedia-Programmierung 16
A .jpg-Bild auf andere Position verschieben Spiele- und Multimedia-Programmierung 4
F Bild im sourcecode Spiele- und Multimedia-Programmierung 32
J JOGL - Bild wird immer wieder weiß Spiele- und Multimedia-Programmierung 2
Q Rechteck in BIld suchen Spiele- und Multimedia-Programmierung 8
M Bild kopieren Spiele- und Multimedia-Programmierung 2
S Bild capturen mit direcShow Spiele- und Multimedia-Programmierung 2
B Character Bild links/rechts Spiele- und Multimedia-Programmierung 19
Developer_X Bild Größe einstellen Spiele- und Multimedia-Programmierung 2
ARadauer bild in bild suchen Spiele- und Multimedia-Programmierung 6
M 2D - Bild um y-Achse drehen Spiele- und Multimedia-Programmierung 9
S Bild spiegeln Spiele- und Multimedia-Programmierung 7
N Farberkennung und -ersetzung in einem Bild Spiele- und Multimedia-Programmierung 2
G Palette aus Bild extrahieren Spiele- und Multimedia-Programmierung 5
A Wasserzeichen auf Bild Spiele- und Multimedia-Programmierung 2
G Paintsurface ins Bild konvertieren Spiele- und Multimedia-Programmierung 8
M Sich nach links verschiebendes Bild Spiele- und Multimedia-Programmierung 2
F Bild generieren Spiele- und Multimedia-Programmierung 3
J Animation hinter transparentem Bild auf der GlassPane Spiele- und Multimedia-Programmierung 6
A Kein Bild Spiele- und Multimedia-Programmierung 3
T Bild als mehrdimesionaler Array Spiele- und Multimedia-Programmierung 4
H Bild von Webcam laden Spiele- und Multimedia-Programmierung 4
P Bild, Pixel- / Bereichsfarbe auslesen Spiele- und Multimedia-Programmierung 12
G start Bild einfrügen in ein Java Spiel Spiele- und Multimedia-Programmierung 7
Quaxli off-topic: HDR-Bild errechnen Spiele- und Multimedia-Programmierung 3
P linie in bild zeichnen Spiele- und Multimedia-Programmierung 2
G Auf Tastendruck bild verschieben Spiele- und Multimedia-Programmierung 5
O ich hab da ein problem mit nem bild Spiele- und Multimedia-Programmierung 8
C JPEG oder BMP Bild erstellen Spiele- und Multimedia-Programmierung 5
A Bild im Raum darstellen (Texture2D) Spiele- und Multimedia-Programmierung 4
V Wie berechnet man das Bild eines Schwarzen Loches in Java? Spiele- und Multimedia-Programmierung 10
K Einzelne Pixel in einem Bild lesen Spiele- und Multimedia-Programmierung 5
N Bild zu zeichnen (drawImage) klappt nur manchmal?? Spiele- und Multimedia-Programmierung 8
P repaint verschiebt das Bild Spiele- und Multimedia-Programmierung 2
S BMP-Bild Pixel für Pixel bearbeiten Spiele- und Multimedia-Programmierung 1
P 2D Bild drehen Spiele- und Multimedia-Programmierung 4
M durchsichtiges Bild nach clearRect Spiele- und Multimedia-Programmierung 8
M RGB-Bild in Graustufen-Bild umwandeln Spiele- und Multimedia-Programmierung 2
M Bild-Spiegelung mit Java! Spiele- und Multimedia-Programmierung 5
S Bild auf Bild = Nichts? Spiele- und Multimedia-Programmierung 3
S Bild in Speicherbild zeichnen = Nichts? Spiele- und Multimedia-Programmierung 3
N Bild im Panel ändern Spiele- und Multimedia-Programmierung 3
D nicht 4-eckiges bild auf Hintergrund bewegen Spiele- und Multimedia-Programmierung 2
R Bild drehen Spiele- und Multimedia-Programmierung 24
J Bild generieren Spiele- und Multimedia-Programmierung 5
X Bild auf aktueller position drehen Spiele- und Multimedia-Programmierung 2
K Java2d Bild als JPG oder so speichern Spiele- und Multimedia-Programmierung 10
R Einfärben von Gemeinden auf einer Karte Spiele- und Multimedia-Programmierung 14
BraunBerry Java Game Pixel "einfärben" Spiele- und Multimedia-Programmierung 6
G Pixel Häufigkeiten entsprechent einfärben Spiele- und Multimedia-Programmierung 6

Ähnliche Java Themen

Neue Themen


Oben