Hallo.
Ich versuche gerade PNG-Dateien zu erzeugen, habe aber noch 2 Probleme:
1: wie kann ich 10*10 pixel gleichzeitig bearbeiten? (es gibt ein setRGB mit ganz vielen Parametern, aber einige davon verstehe ich leider nicht)
2: Wie kann ich die Farben setzen (derzeit arbeite ich mit methode setRGB, die nur drei Parameter hat:)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | public BufferedImage returnSpielfeldBesetzungPNG() { // Vergroesserungsfaktor int faktor=10; // TYPE_INT_RGB = 1 BufferedImage speicher = new BufferedImage( this.feldBreite*faktor, this.feldHoehe*faktor, BufferedImage.TYPE_INT_RGB ); // gib die Spielfeldbesetzung aus for(int breite=0; breite<this.feldBreite; breite++) { for(int hoehe=0; hoehe<this.feldHoehe; hoehe++) { // Farbwert fuer das Feld int farbwert = (int)-this.spielFeld[breite][hoehe].getBesetzung()*100; for(int x=0; x<faktor; x++) { for(int y=0; y<faktor; y++) { speicher.setRGB( breite*faktor+x, hoehe*faktor+y, farbwert); } } } } return speicher; } |
Das Teil ist total langsam, weil ich fuer jeden der vergroesserten Bildpunkte 100 pixel einzeln setze.
Bei den Farben muss man irgendeine Nummer eingeben. allerdings sind bei mir alle Farben blau, und wenn ich ein minus vorsetze gelb. wie ist z.B. der Farbwert von (0,255,0)? Ich habe mir die Klasse "Color" angeschaut, aber ersten gibt es dort keine set-Methoden, und zweitens keine get-methoden fuer so eine Farbwert-Nummer.
Kann mir da jemand helfen?
Gruesse und Danke