PNG-Grafik erzeugen

Status
Nicht offen für weitere Antworten.

derSven

Mitglied
Hi.
Ich moechte gerne eine PNG-Grafik erzeugen. Die soll insegesamt 400X400 pixel Gross sein, und ich moechte jedem einzelnen Pixel eine farbe zuweisen (z.B. Pixel (100, 133) soll die Farbe "#ffdd45" haben). Wenn das bild fertig ist, moechte ich es in eine PNG-Datei speichern.

Wie kann ich so etwas umsetzen?

Gruesse und Danke fuer die Hilfe.
 

The_S

Top Contributor
Du erzeugst dir ein neues
Code:
BufferedImage
holst dir mit
Code:
BufferedImage#createGraphics
ein
Code:
Graphics2D
Objekt und zeichnest dort deine Pixel nach belieben. Anschließend kannst du das Bild mit der Klasse [c]ImageIO[/c] als PNG abspeichern.
 

derSven

Mitglied
Also, ich schaffe es jetzt ein Bild zu malen - das ist schonmal ganz toll.
Ich kann es auch in eine Datei Abspeichern. Aber zwei Probleme sind geblieben.

wie kann ich 10*10 pixel gleichzeitig bearbeiten? (derzeit habe ich eine Doppelschleife drin, die mir die 100Pixel einzel beschreibt, da ich mit dem einem Konstruktor nicht zurechtkomme: BufferedImage (Java 2 Platform SE v1.4.2)[],%20int,%20int) - dort stehen so viele Werte drin, die ich mir nicht erklaeren kann ( besonders der Arry,.... ich moechte doch einfach nur sagen, dass die Farbe Rot ist)).
Java:
				for(int x=0; x<faktor; x++) {
					for(int y=0; y<faktor; y++) {
						speicher.setRGB(
								breite*faktor+x,
								hoehe*faktor+y,
								farbwert);
					}
				}

Problem nummer zwei: im moment kann ich nur blaube und gelbe Bilder malden (wird wird das bild, wenn ich vor den Fabrwert ein minus setze). Am liebsten wuerde ich einen Farbverlauf haben, da ich werte zwischen 0 und 1 habe. Ich habe aber bisher nur einen blauen farbverlauf geschafft. Wie bekomme ich denn die nummer der Farbe "#ff0000" raus? bzw. von "255,0,0" da gibt es doch bestimmt eine Methode fuer.
 

derSven

Mitglied
Also, ich moechte nicht das komplette Bild aendern, sondern nur jeweils 10*10px grosse bereiche. Bisher faerbe ich alle 100 pixel eines solchen Bereiches nacheinander, weil ich die Parameter der zweiten setRGB-Methode nicht verstehe (besonders die letzten drei)

Innerhalb eines solchen Bereiches sollen alle Pixel die gleiche Farbe haben. Die einzelnen Bereiche selbst haben unterschiedliche Farben. (und koennen je nach ihrem Wert der Zwischen 0 und 1 liegt) eine andere Farbe haben. Den Farbwert bestimmt man wahrscheinlich am besten durch eine eigene Formel, oder gibt es vorgefertigte Paletten, denen man eine Zahl zwischen 0 und 1 uebergibt, und die einem dann eine Farbwert zurueckliefern?

Meine zweite Frage ist weniger kopliziert. wie bekomme ich die Nummer der Farbe (0,255,0) bzw. (00ff00) (und anderer Farben!) raus? da gibt es doch bestimmt eine methode. mit der Klasse Color habe ich es nicht hinbekommen, weil ich [1]den Farbwert nicht aendern (z.B auf 12,245,17 setzen), und [2] die Nummer der Farbe (die ich zum einfaerben eines Pixel brauche) nicht auslesen konnte.
 

The_S

Top Contributor
Also, ich moechte nicht das komplette Bild aendern, sondern nur jeweils 10*10px grosse bereiche. Bisher faerbe ich alle 100 pixel eines solchen Bereiches nacheinander, weil ich die Parameter der zweiten setRGB-Methode nicht verstehe (besonders die letzten drei)

Innerhalb eines solchen Bereiches sollen alle Pixel die gleiche Farbe haben.

Und was spricht jetzt dagegen hierfür die von mir vorgeschlagene Methode fillRect zu verwenden?

Meine zweite Frage ist weniger kopliziert. wie bekomme ich die Nummer der Farbe (0,255,0) bzw. (00ff00) (und anderer Farben!) raus? da gibt es doch bestimmt eine methode. mit der Klasse Color habe ich es nicht hinbekommen, weil ich [1]den Farbwert nicht aendern (z.B auf 12,245,17 setzen), und [2] die Nummer der Farbe (die ich zum einfaerben eines Pixel brauche) nicht auslesen konnte.

Java:
// int rgbColor = red << 16 | green << 8 | blue
// Für die Farbe 00FF00
int rgbColor = 0 << 16 | 255 << 8 | 0;
// oder leichter
int simpleRgbColor = 255 << 8;
 

Schandro

Top Contributor
ruf auf dein BufferedImage createGraphics auf, diese liefert dir ein Graphics2D Object mit dem du auf das BufferedImage malen kannst.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
fragenÜber(fragen); Turtle Grafik mit GUI (JFrame) Java Basics - Anfänger-Themen 3
D Grafik auf ein JPane ausgeben. Java Basics - Anfänger-Themen 6
J Konstruktoren und Grafik Java Basics - Anfänger-Themen 3
J "Tetris" - Problem bei der Grafik Java Basics - Anfänger-Themen 5
R Grafik in CSV einbinden Java Basics - Anfänger-Themen 2
S Suche aktuelles 2D Grafik Tutorial Java Basics - Anfänger-Themen 5
B Java -Turtle Grafik - kennt sich jemand damit aus? Java Basics - Anfänger-Themen 1
S Erste Schritte 2D Grafik Probleme mit KeyListener. Java Basics - Anfänger-Themen 18
D aufbauende Grafik Java Basics - Anfänger-Themen 13
8 Grafik erstellen Java Basics - Anfänger-Themen 6
Z Jump and Run - Grafik,Logik und GUI trennen Java Basics - Anfänger-Themen 4
G Bei Mouseover Grafik ändern, gutes Vorgehen gesucht Java Basics - Anfänger-Themen 0
V jab ich eclipse verrückt gemacht :D ? array Jpanel, Jlabel Grafik Fehler / Frage Java Basics - Anfänger-Themen 5
L Grafik Kollision Detektierung Java Basics - Anfänger-Themen 4
L OOP Grafik in Circle Objekt füllen Java Basics - Anfänger-Themen 3
S Grafik löschen Java Basics - Anfänger-Themen 10
C Grafik einsperren Java Basics - Anfänger-Themen 2
E Quelltext für Grafik verschwindet Java Basics - Anfänger-Themen 9
S Grafik verschwindet Java Basics - Anfänger-Themen 8
O Java Grafik-Programmierung? Java Basics - Anfänger-Themen 16
R 2D Grafik zeichnen Java Basics - Anfänger-Themen 4
B Grafik zeichnen Java Basics - Anfänger-Themen 25
S Teilstücke aus einer Grafik extrahieren Java Basics - Anfänger-Themen 2
Maxim6394 Grafik rotieren Java Basics - Anfänger-Themen 11
S Probleme mit JMenü und Grafik Java Basics - Anfänger-Themen 2
0 Grafik eine bestimmte Strecke laufen lassen Java Basics - Anfänger-Themen 6
R Hilfe bei erster Grafik Java Basics - Anfänger-Themen 2
A Gui Grafik Java Basics - Anfänger-Themen 4
maddin86 Grafik in .jar einbetten Java Basics - Anfänger-Themen 3
M import einer Grafik aus .jar funktioniert nicht Java Basics - Anfänger-Themen 6
M Grafik export in ein Jar File Java Basics - Anfänger-Themen 5
O Grafik in Frame laden Java Basics - Anfänger-Themen 9
H Diverse Dinge: Unstabile Grafik, Druckt Grafik nicht,Tooltipp verschwindet hinter Grafik Java Basics - Anfänger-Themen 3
H Grafik auf einem JPanel bewegen. Java Basics - Anfänger-Themen 7
F JLabel mit Grafik füllen Java Basics - Anfänger-Themen 3
K Grafik vergrößern/verkleinern Java Basics - Anfänger-Themen 3
F Zugriffsproblem - Funktion von Grafik trennen Java Basics - Anfänger-Themen 6
H HtmlUnit - Grafik speichern Java Basics - Anfänger-Themen 2
R Taste gedrückt = Grafik zeichen ?!? Java Basics - Anfänger-Themen 8
A Grafik erstellen und in Frame einfügen Java Basics - Anfänger-Themen 17
T Drucken von Listen bestehend aus Grafik und Text (unter swing) Java Basics - Anfänger-Themen 7
A grafik 2d Objekte mit der Maus bewegen Java Basics - Anfänger-Themen 4
A Grafik 2d Objekte farblich ausfüllen Java Basics - Anfänger-Themen 15
C Grafik einbinden Java Basics - Anfänger-Themen 11
F Größe von Grafik-Containern verschieben Java Basics - Anfänger-Themen 2
J Unterschied zwischen 2 Grafik Methoden Java Basics - Anfänger-Themen 2
M Grafik neuzeichnen Java Basics - Anfänger-Themen 8
M Grafik als Resource laden? Java Basics - Anfänger-Themen 2
G erste Schritte in Fenster und Grafik-Programmierung Java Basics - Anfänger-Themen 2
$ Inhalt von JPanel als Grafik? Java Basics - Anfänger-Themen 2
K Grafik beim JFrame oben Links ändern nur wie ? Java Basics - Anfänger-Themen 8
J Grafik Java Basics - Anfänger-Themen 3
K Grafik abspeichern, X11 Fehlermeldung Java Basics - Anfänger-Themen 15
T Zeigerposition auf Grafik messen? Java Basics - Anfänger-Themen 5
M ausm String eine Grafik erstellen Java Basics - Anfänger-Themen 4
F Grafik auf Button passt nicht Java Basics - Anfänger-Themen 1
E Grafik in bestimmtes frame einbinden . Java Basics - Anfänger-Themen 13
F Teilen einer großen Grafik Java Basics - Anfänger-Themen 2
M Grafik erstellen Java Basics - Anfänger-Themen 8
C Clear im Grafik Editor Java Basics - Anfänger-Themen 16
C Grafik flimmert bzw. flackert bei Bewegung Java Basics - Anfänger-Themen 11
N Grafik formatieren Java Basics - Anfänger-Themen 7
E fehlermeldung bei rekursiver grafik Java Basics - Anfänger-Themen 11
M wie kombiniere ich grafik und swing-komponenten Java Basics - Anfänger-Themen 16
N Java Problem bei Grafik und OoP Java Basics - Anfänger-Themen 7
V Grafik ist nur ganz kurz sichtbar Java Basics - Anfänger-Themen 3
H Streichholzziehen - Grafik? Java Basics - Anfänger-Themen 3
M Grafik auf einem JPanel erneut darstellen Java Basics - Anfänger-Themen 3
S Grafik verschwindet aus JTabbedPane Java Basics - Anfänger-Themen 4
C Grafik in einem Panel als Bild exportieren Java Basics - Anfänger-Themen 8
W Javadoc HTML erzeugen mit allen dependency Java Basics - Anfänger-Themen 11
J Delay erzeugen, ohne Programm zu blockieren Java Basics - Anfänger-Themen 7
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
BeginnerJava String mit vorgegebener Länge und Buchstaben erzeugen/ mit Leerstellen Java Basics - Anfänger-Themen 8
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
H Artefact mit Bild erzeugen Java Basics - Anfänger-Themen 11
E Rekursiv Objekte erzeugen - geht das? Java Basics - Anfänger-Themen 2
F Aus eingelesener Datei korrekt Objekte erzeugen Java Basics - Anfänger-Themen 5
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
C Runnable Jar-File erzeugen Java Basics - Anfänger-Themen 14
W Mehrfach das gleiche Attribut für ein Objekt erzeugen (mit verschiedenen Werten) Java Basics - Anfänger-Themen 2
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
C Instanzen, wann muss ich Instanzen erzeugen & wo?) Java Basics - Anfänger-Themen 23
S Erzeugen einer eindeutigen ID Java Basics - Anfänger-Themen 2
E Objekt durch Benutzer über Konsole erzeugen - Java Java Basics - Anfänger-Themen 3
L Simples Spielfeld erzeugen Java Basics - Anfänger-Themen 1
G Anklickbaren Text erzeugen Java Basics - Anfänger-Themen 2
I Object-Oriented Programming, Objekt erzeugen Java Basics - Anfänger-Themen 1
P Objekt aus String-Array erzeugen Java Basics - Anfänger-Themen 104
S Mit nextGaussian() positive Zahlen erzeugen? Java Basics - Anfänger-Themen 39
S Array erzeugen mit verschiedener Verteilung Java Basics - Anfänger-Themen 11
B Automatisch Objekte erzeugen mit verschiedenen Namen Java Basics - Anfänger-Themen 4
L Dynamische Anzahl an Arrays mit verschiedenen Namen erzeugen Java Basics - Anfänger-Themen 6
J Doppelte Ausgabe erzeugen Iterator Java Basics - Anfänger-Themen 6
N ArrayList in eigener Klasse erzeugen mit Zugriff Java Basics - Anfänger-Themen 7
K Methoden JTExtField mit Array erzeugen Java Basics - Anfänger-Themen 13
B Kann man eine Tabelle in Eclipse erzeugen und damit arbeiten? Java Basics - Anfänger-Themen 8
E Best Practice Jar-file mit zwei Klassen und externer Bibliothek über Konsole erzeugen Java Basics - Anfänger-Themen 13
I TextField Array mit for Loop erzeugen Java Basics - Anfänger-Themen 4
M Objekte mit einer Schleife mehrmals erzeugen Java Basics - Anfänger-Themen 17

Ähnliche Java Themen

Neue Themen


Oben