Panels übereinander darstellen

Status
Nicht offen für weitere Antworten.
E

Eilleen

Gast
Hallo,

hatte für ein Praktikum die Aufgabe ein Programm zu schreiben, welches BMP-Bilder ausliest, darstellt und ein Histogramm erstellt. Zuerst wird der BMP-Header ausgelesen um Daten wie Bildgrösse, Farbtiefe und verwendete Farben, sowie den Anfang des Bilddatenbereich zu sammeln. Anschliessend werden die Pixel in ein 2 dimensionales Array (Bilddaten[hoehe][breite]) geschrieben und dann in der überschriebenen paintComponent(Graphics g) Methode ausgegeben.
Optional kann man sich auch (auf dem Bild, d.h man sieht das Bild weiterhin) das Histogram anzeigen lassen(welches ebenfalls in der paintComponent(Graphics g) Methode dargestellt wird). Das Histogramm lässt sich Stufenlos zoomen um auch die "kleinere" Bereiche zu erkennen.
Das alles ist kein Problem, nur kann man sich gut vorstellen, dass bei einem Bild, mit 800 x 600 Seitenlänge, bei dem 480´000 Pixel einzeln dargestell werden müssen ordentlich Zeit vergeht bis das Bild aufgebaut ist. Wenn man nun das Histogram einblendet und rein- und rauszoomt, wird ständig erst das Bild neu gezeichnet und anschliessend das Histogramm obendrauf. Durch dem enormen Zeitverlusst, ist die Darstellung des Histogramms beim Zoomen immer extrem verzögert.
Meine Idee ist nun, zwei Panels zu verwenden, eins für die Bildausgabe und ein zweites für das Histogramm. Somit müsste das untere Panel(für das bild) nicht ständig neu gezeichnet werden, wenn sich das Histogramm(darüber) ändert. Man müsste also das obere Panel Transparent machen (vieleicht mit set.opaque). Und das schaff ich einfach nicht.
Wenn Ihr 'ne Lösung dazu habt, oder eventuell auch einen ganz anderen Ansatz wäre ich super dankbar.

mfG und schönes WE

Eilleen
 
B

Beni

Gast
Wenn es transparent ist, und neu gezeichnet wird, wird IMHO wohl auch das darunterliegende neu gezeichnet.

Verwende doch ein Image. Zum Beispiel kannst du dein Bild in ein BufferedImage reinzeichnen (natürlich nur einmal!), und dieses BufferedImage dann zeichnen. Das dürfte wesentlich schneller sein (mit einem VolatileImage kannst du sogar auf 300 Frames pro Sekunde kommen :wink: )
Übrigens, mit der Klasse ImageIO kannst du auch gleich Images wie PNG, JPG und ich glaube auch BMP einlesen. Dann musst du nicht alles selbst schreiben :wink:
 
E

Eilleen

Gast
danke erstmal für die schnelle Antwort, nur leider bringt es mir nichts das Bild über vorgefertigte Methoden darzustellen. In dem Praktikum geht es leider darum zu verstehen wie man mit Bildformaten umgeht. Deshalb soll ja das Bild auch auf diese Weise verarbeitet werden.

mfG
Eilleen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J LayoutManager Panels übereinander AWT, Swing, JavaFX & SWT 3
I 2 Panels übereinander, 1 transparent AWT, Swing, JavaFX & SWT 2
S mehere panels übereinander AWT, Swing, JavaFX & SWT 2
M JTabbedPane zeigt alle Panels übereinander an :( AWT, Swing, JavaFX & SWT 8
H Mehrere Panels auf JFrame AWT, Swing, JavaFX & SWT 8
I GUI, das verschiedene Panels hat (Von Seite zu Seite navigieren) AWT, Swing, JavaFX & SWT 7
G LayoutManager Panels anordnen über Schleifenvariablen AWT, Swing, JavaFX & SWT 7
B Bounds aller Panels aktualisieren AWT, Swing, JavaFX & SWT 0
B veränderte Größe eines Panels im Vorhinein wissen? AWT, Swing, JavaFX & SWT 1
L Komponenten eines Panels werden erst nach Klick darauf angezeigt AWT, Swing, JavaFX & SWT 13
L Swing Panels bewegen wie Windows 10 Kacheln AWT, Swing, JavaFX & SWT 0
G LayoutManager Beliebige Anzahl von Panels für LayoutManager AWT, Swing, JavaFX & SWT 3
T Swing Bug: mehrfache Panels bei Mouseover? AWT, Swing, JavaFX & SWT 11
P Zwischen verschiedenen Panels wechseln AWT, Swing, JavaFX & SWT 3
F abgeleitete Panels von einem ContentPanel AWT, Swing, JavaFX & SWT 4
K Event Handling Über JMenuBar die diversen Panels anzeigen AWT, Swing, JavaFX & SWT 10
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
F AWT mehrere Panels in einem Frame AWT, Swing, JavaFX & SWT 17
R Swing panels nebeneinander mit BoxLayout.X_AXIS AWT, Swing, JavaFX & SWT 4
P Swing Panels Wechseln AWT, Swing, JavaFX & SWT 9
D Swing Komponenten Anordnung eines Panels in Verbindung eines weiteren Panels AWT, Swing, JavaFX & SWT 9
R KeyListener in mehreren Panels AWT, Swing, JavaFX & SWT 5
H zwei gleich große Panels getrennt durch ein weiteres Panel AWT, Swing, JavaFX & SWT 10
Thallius Swing Mehrere tausend "Panels" erstellen AWT, Swing, JavaFX & SWT 3
P Drag & Drop zwischen Panels AWT, Swing, JavaFX & SWT 0
V AWT Panels überlappen AWT, Swing, JavaFX & SWT 1
K Panels mit eigenen Controllern in Main-View einbauen AWT, Swing, JavaFX & SWT 4
U Swing Panels im Contentpane durchschalten AWT, Swing, JavaFX & SWT 1
M Handling 1 Fenster mehrere Panels AWT, Swing, JavaFX & SWT 2
S Swing Plätze von 2 panels vertauschen AWT, Swing, JavaFX & SWT 4
T Panels mit Button verbinden AWT, Swing, JavaFX & SWT 3
F Swing Wie verwalte ich meine Panels richtig? AWT, Swing, JavaFX & SWT 2
Q CardLayout, ausgelagerte Panels, ActionListener AWT, Swing, JavaFX & SWT 5
Java-Insel LayoutManager Ein GridBagLayout-Objekt für mehrere Panels? AWT, Swing, JavaFX & SWT 2
D Stapelung von Panels AWT, Swing, JavaFX & SWT 6
V Swing MouseEvents bei gestapelten Panels AWT, Swing, JavaFX & SWT 2
B JApplet zwei Panels autobreite? AWT, Swing, JavaFX & SWT 2
kodela Teil eines Panels als Graphik speichern AWT, Swing, JavaFX & SWT 3
Kenan89 LayoutManager MigLayout Positionierung von Panels AWT, Swing, JavaFX & SWT 4
A Panels in JavaFX zur Laufzeit erzeugen AWT, Swing, JavaFX & SWT 5
D JButton-Click in JList mit Panels (auf dem der Button ist) AWT, Swing, JavaFX & SWT 6
L Mehre Panels einen Frame zuweisen AWT, Swing, JavaFX & SWT 11
F Panels über buttons zu anderen Panels hinzufügen AWT, Swing, JavaFX & SWT 2
X Swing Resizing der Komponenten innheralb eines Panels AWT, Swing, JavaFX & SWT 2
J Problem mit der Höhe eines Panels AWT, Swing, JavaFX & SWT 11
M Swing JTabbedPane Panels deaktivieren AWT, Swing, JavaFX & SWT 2
S Swing (Nicht) Vergrößern von Panels AWT, Swing, JavaFX & SWT 3
S Drag and Drop über 2 Panels AWT, Swing, JavaFX & SWT 2
B LayoutManager Zeilenweise Anordnung von Panels AWT, Swing, JavaFX & SWT 19
B Panels wechseln auf Knopfdruck AWT, Swing, JavaFX & SWT 17
N Hilfe bei Panels! AWT, Swing, JavaFX & SWT 11
P Von einem Panel auf die Objekte des anderen Panels zugreifen AWT, Swing, JavaFX & SWT 3
C Aufklappbare Panels AWT, Swing, JavaFX & SWT 2
D Panels Dynamisch zur Laufzeit austauschen AWT, Swing, JavaFX & SWT 2
D Vererbung von Panels AWT, Swing, JavaFX & SWT 8
E Wie Breite und Höhe eines Panels festlegen? AWT, Swing, JavaFX & SWT 5
B Panels stapeln, geht das? AWT, Swing, JavaFX & SWT 7
S GridBagLayout Panels AWT, Swing, JavaFX & SWT 2
W Panels vertikal anordnen AWT, Swing, JavaFX & SWT 10
R Swing Kommunikation zwischen Panels AWT, Swing, JavaFX & SWT 2
F Abschaltbare Panels AWT, Swing, JavaFX & SWT 5
aze Layout auf Teil eines Panels anwenden AWT, Swing, JavaFX & SWT 5
M Swing Alle Elemente eines Panels? AWT, Swing, JavaFX & SWT 9
I Swing Positionieren von Panels mit layoutManager AWT, Swing, JavaFX & SWT 6
B Java Grafiken an bestimmter Positon des Panels anzeigen AWT, Swing, JavaFX & SWT 6
S import von Klassen (zwei Panels eine Form) AWT, Swing, JavaFX & SWT 39
K Zwei Panels zentriert anordnen AWT, Swing, JavaFX & SWT 3
H2SO3- AWT seltsammes verhalten eines Panels AWT, Swing, JavaFX & SWT 9
S Buttons, Panels etc. zu einer Teilkomponente hinzufügen AWT, Swing, JavaFX & SWT 5
Z Swing Gif's in panels einfügen AWT, Swing, JavaFX & SWT 11
N Überschneidung von Panels umgehen AWT, Swing, JavaFX & SWT 3
D java.lang.IllegalArgumentException beim Darstellen eines Panels AWT, Swing, JavaFX & SWT 7
T Border eines Panels nicht an der rechten Kante anzeigen AWT, Swing, JavaFX & SWT 7
F name des panels in der ein button liegt rausfinden AWT, Swing, JavaFX & SWT 10
R AWT: Aufteilung mit Panels? AWT, Swing, JavaFX & SWT 2
L Focus für KeyListener auf verschiedene Panels AWT, Swing, JavaFX & SWT 2
G Ein Frame mit mehreren austauschbaren Panels AWT, Swing, JavaFX & SWT 3
I Applet mit Panels (so richtig, gehts besser?) AWT, Swing, JavaFX & SWT 3
G designfrage zu 2 panels AWT, Swing, JavaFX & SWT 2
hdi zeitgleiches fokusieren von zwei panels AWT, Swing, JavaFX & SWT 2
G 2 Panels, 2 Listener, 1 Problem AWT, Swing, JavaFX & SWT 2
G Im applet auf panels zeichnen AWT, Swing, JavaFX & SWT 9
G Im Applet Panels anzeigen lassen AWT, Swing, JavaFX & SWT 2
G Editierbarkeit aller Komponenten eines Panels AWT, Swing, JavaFX & SWT 5
R Kleine Panels auf einem großen Panel frei platzieren AWT, Swing, JavaFX & SWT 11
G Remove Panels von JFrame AWT, Swing, JavaFX & SWT 5
M Ausrichtung eines Panels AWT, Swing, JavaFX & SWT 7
H Frames oder Panels für mehrere Ansichten? AWT, Swing, JavaFX & SWT 4
M Problem mit Cursor für Panels AWT, Swing, JavaFX & SWT 4
Kidao Mehrer Panels, mit Buttons in einem Frame abwechselnd laden? AWT, Swing, JavaFX & SWT 3
M Hallo Herr Uhres, Frage zu DND_Demo: Ausrichten der Panels:) AWT, Swing, JavaFX & SWT 4
O Panels ein und ausblenden - geht das? AWT, Swing, JavaFX & SWT 3
O eine Frage zu Panels AWT, Swing, JavaFX & SWT 10
M Problem bei Repaint von Panels AWT, Swing, JavaFX & SWT 2
M Größe des Panels ändern? AWT, Swing, JavaFX & SWT 3
O haben panels von anfang an einen dummen rand? AWT, Swing, JavaFX & SWT 19
G Zwischen Panels in einem JFrame wechseln AWT, Swing, JavaFX & SWT 4
M JTree und Anzeige des entsprechenden Panels AWT, Swing, JavaFX & SWT 5
M JList mit unbestimmter Anzahl Panels füllen AWT, Swing, JavaFX & SWT 4
K 2 Panels und Layouts AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben