Farbig zeichnen ohne java.awt.Color?

Status
Nicht offen für weitere Antworten.

Grizzly

Top Contributor
Hi,

hab' folgendes Problem:
Ich möchte eine Grafik zeichnen, die relativ viele verschiedene Farben enthält. Um aber in einer bestimmten Farbe zeichnen zu könne, muss man aber ja ein Objekt der Klasse Color instanzieren (wenn man mehr bzw. andere Farben braucht, als die Standard Konstanten der Klasse Color). Wenn man das Zeichnen aber in sehr kurzen Abständen hintereinander macht, müllt man zwangsweise den Speicher mit Color Objekten zu. Bei 16,7 Mio. Farben (soll jetzt nur ein Beispiel sein) sind das immerhin 16,7 Mio. Objekte. Wenn man diese alle am Anfang einmal anlegt und dann mehrfach verwendet, ist der komplette (oder auf jeden Fall jede Menge davon) Hauptspeicher nur für die Farben weg. Macht man dies jedoch nicht, frisst der Garbage Collector einem die ganze Performance.

Gibt es eine Möglichkeit, ohne ein Color Objekt farbig in ein Bild zu zeichnen?
 

Illuvatar

Top Contributor
Nun ja, du könntest alle Pixel von einem BufferedImage setzen, dann wird das Java für dich machen.

Oder du speicherst alle bisher benötigten Objekte in einer Hashtable.
 

Grizzly

Top Contributor
Illuvatar hat gesagt.:
Nun ja, du könntest alle Pixel von einem BufferedImage setzen, dann wird das Java für dich machen.

Oder du speicherst alle bisher benötigten Objekte in einer Hashtable.
Die zweite Möglichkeit hab' ich ja schon in meinem Post geschrieben. Da wäre aber - wie schon geschrieben - der Speicherverbrauch zu hoch.

Wie meinst Du das mit dem BufferedImage? Das ich ein BufferedImage von 1 x 16,7 Mio. Pixel mache, dort alle Farben unterbringe und dann mit einem java.awt.image.PixelGrabber Objekt wieder auslese? :bahnhof:



EDIT: Sehe gerade, das PixelGrabber die Farben als RGB-Werte zurückgibt. Müsste also wieder Color-Objekte erzeugen. Bringt also auch nix. :(
 
B

Beni

Gast
BufferedImage hat eine Methode "setRGB( x, y, rgb )". Mit dieser Methode könntest du einzelne Pixel ändern, ohne ein Color-Objekt zu benötigen.
 

Grizzly

Top Contributor
Beni hat gesagt.:
BufferedImage hat eine Methode "setRGB( x, y, rgb )". Mit dieser Methode könntest du einzelne Pixel ändern, ohne ein Color-Objekt zu benötigen.
Hey, die Methode hab' ich bisher irgendwie übersehen. :)

Da gibt es nur zwei kleine Problem:
1. Nur die Klasse BufferedImage besitzt die Methode, VolatileImage bspw. nicht.
2. Ich müsste dann komplett alle Zeichenoperation selber noch einmal implementieren.
:(
 

Grizzly

Top Contributor
Hab' jetzt das restliche WE über noch ein bisschen gegrübelt. Anscheinend ist eine Palette der einzige gangbare weg. :(
Falls jemand noch etwas besser einfällt: Melden! :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E relevanter bereich einer isometrischen karte zeichnen (AffineTransform) Spiele- und Multimedia-Programmierung 0
SaftigMelo Kreissegment zeichnen Spiele- und Multimedia-Programmierung 2
E Buttons neu zeichnen im GridLayout Spiele- und Multimedia-Programmierung 2
A Zeichnen außerhalb der paint-Methode Spiele- und Multimedia-Programmierung 6
E Isometrische Tiles mit unterschiedlicher Größe an korrekter Position zeichnen Spiele- und Multimedia-Programmierung 1
Androbin Mein Spiel will sich nicht zeichnen lassen !!! Spiele- und Multimedia-Programmierung 7
J Int Wert auf JFrame zeichnen Spiele- und Multimedia-Programmierung 3
H [ANIMATION] Hintergrundbild nur einmal zeichnen Spiele- und Multimedia-Programmierung 3
R [lwjgl] Cursor -> versetzt Zeichnen / Bild ist umgedreht Spiele- und Multimedia-Programmierung 2
M Methoden eine Map zu zeichnen Spiele- und Multimedia-Programmierung 5
aze Nicht rechteckiges Bild zeichnen Spiele- und Multimedia-Programmierung 5
F nur Ausschnitt eines Image zeichnen Spiele- und Multimedia-Programmierung 9
T 3D Graphen Zeichnen Spiele- und Multimedia-Programmierung 19
F Kurven zeichnen Spiele- und Multimedia-Programmierung 2
E Keine Werte zum Zeichnen werden Übergeben Spiele- und Multimedia-Programmierung 3
A Halbkreise zeichnen lassen? Spiele- und Multimedia-Programmierung 2
F Lineal mit Zahlen zeichnen Spiele- und Multimedia-Programmierung 7
N Linie mit Rand zeichnen Spiele- und Multimedia-Programmierung 10
A Mehrere geometrische Objekte in JPanel zeichnen Spiele- und Multimedia-Programmierung 4
A Optimiertes Zeichnen - wie? Spiele- und Multimedia-Programmierung 8
data89 Koordinaten in Koordinatensystem zeichnen Spiele- und Multimedia-Programmierung 11
M Binärbaum ohne Überlappung zeichnen Spiele- und Multimedia-Programmierung 3
H Decke zeichnen mit Hilfe eines Polygons Spiele- und Multimedia-Programmierung 2
B 1)JButtons zeichnen 2)Kolisionsabfrage von zwei Objekten Spiele- und Multimedia-Programmierung 9
G Linie im Applet zeichnen Spiele- und Multimedia-Programmierung 5
G Schüsse zeichnen, Fehler? Spiele- und Multimedia-Programmierung 3
S Dreieck zeichnen Spiele- und Multimedia-Programmierung 9
G Überlagern von Strings beim zeichnen verhindern Spiele- und Multimedia-Programmierung 3
C Objekt bei Buttonklick zeichnen Spiele- und Multimedia-Programmierung 16
G Geschwungene Klammer zeichnen Spiele- und Multimedia-Programmierung 5
F Neu zeichnen verhindern Spiele- und Multimedia-Programmierung 25
J Zeichnen in BufferedImage und dieses in Datei speichern Spiele- und Multimedia-Programmierung 2
O Funktion zeichnen Spiele- und Multimedia-Programmierung 11
A Lissajous Figuren zeichnen Spiele- und Multimedia-Programmierung 1
G Maus springt --> Free-Hand-Zeichnen Spiele- und Multimedia-Programmierung 2
L Schüsse zeichnen Spiele- und Multimedia-Programmierung 13
M Eigene Strings zeichnen Spiele- und Multimedia-Programmierung 4
T Blitz berechnen und zeichnen Spiele- und Multimedia-Programmierung 13
M auswahlkreis zeichnen (schräg) Spiele- und Multimedia-Programmierung 4
N Logik: Grenz-/Frontlinie zeichnen Spiele- und Multimedia-Programmierung 4
M Grafikprogramm, zeichnen mit Maus Spiele- und Multimedia-Programmierung 7
G Problem beim Zeichnen von LineArrays Spiele- und Multimedia-Programmierung 9
P linie in bild zeichnen Spiele- und Multimedia-Programmierung 2
G Auf 3D Box zeichnen Spiele- und Multimedia-Programmierung 4
K mit Canvas übereinander zeichnen Spiele- und Multimedia-Programmierung 4
G 3D Raum zeichnen Spiele- und Multimedia-Programmierung 7
H Kreis zeichnen mittels Schleife & drawLine Spiele- und Multimedia-Programmierung 4
B Probleme beim zeichnen Spiele- und Multimedia-Programmierung 15
N Bild zu zeichnen (drawImage) klappt nur manchmal?? Spiele- und Multimedia-Programmierung 8
T Effizient zeichnen Spiele- und Multimedia-Programmierung 12
H mit Java2D Markierung über JTable zeichnen und diese bewegen Spiele- und Multimedia-Programmierung 2
C Graphische Benutzerschnittstelle, Problem beim Zeichnen Spiele- und Multimedia-Programmierung 4
J schnellste alternative um in java zu "zeichnen" Spiele- und Multimedia-Programmierung 17
conan2 Objekte in richtiger Z-Reihenfolge zeichnen Spiele- und Multimedia-Programmierung 2
G Punkte in Java3D zeichnen Spiele- und Multimedia-Programmierung 2
S Pixel zeichnen Spiele- und Multimedia-Programmierung 3
S Bild in Speicherbild zeichnen = Nichts? Spiele- und Multimedia-Programmierung 3
S Wie kann ich das Zeichnen der Grafik feiner machen? Spiele- und Multimedia-Programmierung 9
M Wie kann man Kreisringe zeichnen ? Spiele- und Multimedia-Programmierung 12
C Graphics 2D Zeichnen Spiele- und Multimedia-Programmierung 4
R Kreuz lässt sich nicht zeichnen Spiele- und Multimedia-Programmierung 11
F einzelne Polygone(Graphics) schneller als and. Fig. zeichnen Spiele- und Multimedia-Programmierung 3
K Kugeln und Zylinder zeichnen Spiele- und Multimedia-Programmierung 4
L ein Rechteck zeichnen Spiele- und Multimedia-Programmierung 6
E Programmierung eines 2.5D Point&Click Adventures ohne Spieleengine machbar? Spiele- und Multimedia-Programmierung 14
J Bild ohne Quallitätsverlust skalieren Spiele- und Multimedia-Programmierung 11
E Rotation um Bildmittelpunkt ohne Affine Transform!!!!! Spiele- und Multimedia-Programmierung 13
A 2D Spiel ohne Tiles Spiele- und Multimedia-Programmierung 10
S Mausklicks innerhalb eines JFrames/SWTBrowser ohne richtige Maus simulieren Spiele- und Multimedia-Programmierung 6
B Bild ohne Image auf die Festplatte streamen Spiele- und Multimedia-Programmierung 4
Devil0s 2D Stadt Generator/2D Welt speichern OHNE Tiles Spiele- und Multimedia-Programmierung 5
H zwei ints als key in map (ohne long) Spiele- und Multimedia-Programmierung 16
M Multiplayer Game mit Frontend auf HTML5 - ohne ständigen Client Request - Möglich?! Spiele- und Multimedia-Programmierung 12
S Sounds abspielen, ohne sie jedesmal neu zu laden Spiele- und Multimedia-Programmierung 8
B Bilder in GUI ändern ohne repaint() Spiele- und Multimedia-Programmierung 6
C java 3d ohne Java3d Spiele- und Multimedia-Programmierung 28
H Skalierung eines Polygons ohne das es verschoben wird Spiele- und Multimedia-Programmierung 3
K Java3D als Applet ohne Installation von Java3d Spiele- und Multimedia-Programmierung 6
M Eigene Renderengine ohne Java3D,etc. Spiele- und Multimedia-Programmierung 19
M Aktien-Spiel ohne GUI Spiele- und Multimedia-Programmierung 28
aze Java3D: Gegenstände aufeinander zubewegen ohne Kollision Spiele- und Multimedia-Programmierung 4
A JMF ohne Installation Spiele- und Multimedia-Programmierung 4
Developer_X Sound Lautstärke ohne spezifische API regulieren Spiele- und Multimedia-Programmierung 3
L JMF Player spielt mp3 nur ohne Ton Spiele- und Multimedia-Programmierung 14
T 3D-Tetris Feld neuzeichnen ohne neue Branchgroup Spiele- und Multimedia-Programmierung 18
O Java3D-Applet ohne Java3D-Runtime ausführen Spiele- und Multimedia-Programmierung 2
L klick auf ComboBox ohne ActionListener --> CPU ausgelaste Spiele- und Multimedia-Programmierung 13
H Tic Tac Toe / 3 Gewinnt OHNE Applet Spiele- und Multimedia-Programmierung 9
S 3D Objekte ohne Java3D darstellen? Spiele- und Multimedia-Programmierung 10
B Sudoku Generator ohne Solerver möglich? Spiele- und Multimedia-Programmierung 20

Ähnliche Java Themen

Neue Themen


Oben