Bilder übereinanderlegen

kor

Mitglied
Hallo

Ich möchte folgendes realisieren:

Über ein BufferedImage möchte ich ein zweites BufferedImage darüberlegen, das bis auf ein paar linien Transparent ist. Ziel ist es das teile des ersten Bildes durch das darüberliegende markiert werden. Diese Markierungen kann der Benutzer verschieben, darum möchte ich zwei getrennte Bilder haben.
das ganze soll in ein JPanel eingebettet werden. Ist es überhaubt möglich 2 Bilder übereinander darzustellen?

Hat jemand damit erfahrung bzw. tipps?

Lg
 

bERt0r

Top Contributor
Die paintComponent Methode überschreiben und nacheinander die 2 Bilder malen. Guck dir das Zeichnen in Swing tutorial an.
 

Guybrush Threepwood

Top Contributor
Die paintComponent-Methode muss nicht überschrieben werden, schließlich handelt es sich bei der Aufgabenstellung (noch) nicht um eine GUI-Komponente. Hier ein Code-Beispiel (Datentypeb müssen halt angepasst werden):

Java:
	public static VolatileImage combineImage(VolatileImage background,
			BufferedImage foreground, int width, int height) {
		

		try {
			VolatileImage vimage = createVolatileImage(width, height,
					Transparency.OPAQUE);

//ab hier wird es interessant
			Graphics2D g = null;
			g = vimage.createGraphics();
			g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
					RenderingHints.VALUE_INTERPOLATION_BILINEAR);
			g.drawImage(background, 0, 0, width, height, null);
			g.drawImage(foreground, 0, 0, width, height, null);
			g.dispose();
			return vimage;
		} catch(Exception e) {
			return null;
		}

		
	}
 

Guybrush Threepwood

Top Contributor
Ups, hatte das JPanel im ersten Post überlesen. Das Überschreiben der paintComponent - wie von bert0r vorgeschlagen - wäre dann die Beste Lösung. Das Zeichnen kann analog zum Code-Beispiel erfolgen.
 

irgendjemand

Top Contributor
man kann sichs auch ETWAS einfacher machen

zwei JLabel in die die bilder geladen werden ... mit setOpaque() transparent machen ... und mit einem JLayeredPane übereinander legen ...
 

kor

Mitglied
hi

Erstmal danke an alle Antworten. Ich habe es jetzt mit einem JLayeredPane und labels realisiert.
jetzt habe ich aber noch eine frage

In einer Klassenfunktion führe ich auf Knopfdruck volgende Funktionen aus.
Java:
gui.cmd.original= ImageIO.read(programm_dir1)
gui.Spektrum.removeAll();					
EigenImage BildSpektrum = new EigenImage(gui.cmd.original);
gui.Spektrum.add(BildSpektrum);

d.h. Ich erzeuge eine Klasse EigenImage und lege die auf meine gui.
Wass pasiert wenn diese befehle öfter ausgeführt werden (bei jedem Tastendruck)? Habe ich dann mehrere EigenImages die Übereinandergelegt werden oder werden die Objekte bei "gui.Spektrum.removeAll();" gelöscht?.

Lg
 

bERt0r

Top Contributor
Woher sollen wir wissen was deine Funktion removeAll in deiner Klasse/deinem Objekt Spektrum macht? Jedenfalls erzeugt ImageIO.read immer ein neues BufferedImage.
 

kor

Mitglied
hi

sorry war etwas unkongret.
gui.Spektrum ist ein JPanel und removeAll() die ganz normale Funktion die die Klasse JPanels zur Verfügung stellt.
Werden Objekte am ende des Blocks zerstört so wie bei c und was ist mit objekten denen ein anderes zugewiesen wird (by referenz) und das 2te (referenz) objekt wird dann zerstört?

Lg
 

bERt0r

Top Contributor
Zerstört wird in Java gar nix. RemoveAll macht genau das, was der name implizert und zwar werden alle Komponenten die sich auf dem JPanel befinden entfernt. Entfernt heißt nicht zerbombt und gelöscht sondern einfach nicht mehr auf dem JPanel gespeichert. Es ist aber durchaus möglich, dass eine Komponente die du durch removeAll gelöscht hast noch irgendwo anders relevant ist.
Java löscht nur Objekte, die nicht mehr referenziert werden, das heißt Objekte die keiner mehr kennt. Ob und wann ein Objekt gelöscht wird oder wurder kann man nur schwer sagen bzw. beeinflussen. Wenn man aber sauber programmiert ist das eigentlich kein Thema. Nicht sauber wäre es z.B wenn deine 4 Zeilen code bei dir in der paintComponent Methode stehen.
 

kor

Mitglied
hi

ok danke.

Jtzt habe ich noch ein anliegen bezwecks MouseMoion Listener.
Ich habe einen MouseAdapter mit MouseMotionListener implementiert
Java:
public class MyMouseAdapter extends MouseAdapter implements MouseMotionListener{
	 protected Spectrometer gui;
	 private boolean MouseActive=false;
	 
	 
	    public MyMouseAdapter(Spectrometer gui) {
	      this.gui = gui;
	           
	    }
	public void aktivateMouse(boolean b){
		if(b==true){
			gui.Spektrum.addMouseMotionListener(this);
		}
		else{
			gui.Spektrum.removeMouseListener(this);
		}
    public void mouseDragged(MouseEvent e) {
	      	       
	        int point = gui.Spektrum.getMousePosition().y;
	        System.out.println("point: "+point);
	                
	     }
Ich will also durch aufrufen der funktion aktivateMouse(boolean b) den MouseMotionListener ein oder ausschalten. Das Einschalten funktioniert, aber "removeMouseListener(this);" funktioniert irgendwie nicht.

Lg
 

kor

Mitglied
hi

auf die gefahr hin, dass ich mich furchbar blamiere aber so weit weg war ich doch nicht. Ich habe meine implementierung durch "MouseInputAdapter implements MouseInputListener" ersetzt weil diese offensichtlich für Mouse events und bewegungen vorgesehen ist. Aber für die funktion ist das vollkommen egal.
ich hatte nur einen Tippfehler und jetzt "gui.Spektrum.removeMouseListener(this);" durch "gui.Spektrum.removeMouseMotionListener(this);" ersetzt und es funktioniert so wie ich es wollte.

Ich bin mir durchaus bewußt, dass ich java defizite habe und gerade bei Interfaces blicke ich nur bedingt durch. Dafür benütze ich java einfach zu selten.

danke für alle tipps und hilfestellungen, ich bin mir durchaus bewußt, dass so hobby-programmierer wie ich ganz schön nerven können :)


Lg
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MiMa Fonts, Icons, Bilder in JavaFX Anwendung AWT, Swing, JavaFX & SWT 5
F Bilder zu ausführbarer Jar-Datei hinzufügen AWT, Swing, JavaFX & SWT 5
G JPanel per Drag and Drop JButtons und Bilder ablegen AWT, Swing, JavaFX & SWT 1
G JPanel mit JButtons und Bilder AWT, Swing, JavaFX & SWT 5
Linjutsu Den Inhalten aus einer ArrayList Bilder zuweisen (Kartenspiel) AWT, Swing, JavaFX & SWT 8
M Swing Bilder in Swing anzeigen AWT, Swing, JavaFX & SWT 9
S AffineTranformation Bilder verschwinden von Anzeige bei Pan, Zoom AWT, Swing, JavaFX & SWT 6
G Bilder in javafx Project AWT, Swing, JavaFX & SWT 11
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
N eclipse Java, bilder benutzten Funktioniert nicht AWT, Swing, JavaFX & SWT 6
Kirby.exe Bilder in GUI einfügen AWT, Swing, JavaFX & SWT 8
T Bilder bei einem JFrame einfügen AWT, Swing, JavaFX & SWT 4
K JLabel mit Bilder im nicht initialisierten JPanel hinzufügen AWT, Swing, JavaFX & SWT 5
L Bilder werden in exportierter Datei nicht geladen AWT, Swing, JavaFX & SWT 6
C Bilder so einbinden, dass sie sich ändern AWT, Swing, JavaFX & SWT 6
J Bilder aus dem SceneBuilder werden in der Jar nicht dargestellt AWT, Swing, JavaFX & SWT 4
TheWhiteShadow JavaFX Bilder werden ungewollt Skaliert AWT, Swing, JavaFX & SWT 1
B JavaFX Bilder in einem Gewissen bereich halten AWT, Swing, JavaFX & SWT 1
J Bilder proportional verkleiner AWT, Swing, JavaFX & SWT 12
E Bilder skalieren AWT, Swing, JavaFX & SWT 4
DaCrazyJavaExpert Swing Bilder überlagern AWT, Swing, JavaFX & SWT 19
A Bilder als Hintergrund AWT, Swing, JavaFX & SWT 2
@SupressWarnings() JavaFX Bilder in executable jar laden AWT, Swing, JavaFX & SWT 5
Sugan JavaFX Bilder drucken AWT, Swing, JavaFX & SWT 0
K JPanel Bilder bei Windows nicht darstellbar AWT, Swing, JavaFX & SWT 6
Sugan Java FX Verzeichnisüberwachung -> Bilder auf GUI anzeigen AWT, Swing, JavaFX & SWT 4
E AWT Bilder als "Array" abspeichern. AWT, Swing, JavaFX & SWT 4
MrSnake Bilder aus Unterordner einfügen AWT, Swing, JavaFX & SWT 2
I 2D-Grafik Bilder Eingefügt, button jetzt im Hintergrund AWT, Swing, JavaFX & SWT 2
C SWT Treeview mit Bilder im Label verändert Expanded Icon AWT, Swing, JavaFX & SWT 1
M Swing JTextPane, Bilder und Text-flow AWT, Swing, JavaFX & SWT 2
A Mit dem Scene Builder eine Collage erstellen (Bilder beziehen aus Flickr) AWT, Swing, JavaFX & SWT 1
thet1983 JTable Bilder AWT, Swing, JavaFX & SWT 6
GenerationLost Bilder an bestimmten Platz einfügen/Objekte visualisieren AWT, Swing, JavaFX & SWT 1
F Bilder in jFrame einfügen AWT, Swing, JavaFX & SWT 3
J Bilder als Variable an einem Objekt speichern AWT, Swing, JavaFX & SWT 3
I Swing Bilder werden nach Export nicht angezeigt AWT, Swing, JavaFX & SWT 1
D 2D-Grafik Bilder anzeigen AWT, Swing, JavaFX & SWT 4
J Bilder auf JPanel (im JScrollPane) nacheinander laden AWT, Swing, JavaFX & SWT 0
vodkaz JFrame,Bilder und Zeitverzögerung AWT, Swing, JavaFX & SWT 2
A Swing Bilder werden nicht angezeigt AWT, Swing, JavaFX & SWT 3
I SWT Bilder, bzw. ein einzelnes Bild AWT, Swing, JavaFX & SWT 6
M Bilder zeichnen, NullPointer Exception AWT, Swing, JavaFX & SWT 3
Xbody 2D-Grafik JavaFX Bilder transformieren AWT, Swing, JavaFX & SWT 2
C 2D-Grafik Steganographie - Verschlüsselung von Dateien in Bildern - Bilder zeigen schwarze Rechtecke AWT, Swing, JavaFX & SWT 13
P Durch Bilder Scrollen AWT, Swing, JavaFX & SWT 2
F Bilder werden nicht in's Array geladen AWT, Swing, JavaFX & SWT 4
windl Querstreifen beim Bilder malen und anpassen an neue CPU AWT, Swing, JavaFX & SWT 12
V Fertige Komponente zum Anzeigen mehrerer Bilder AWT, Swing, JavaFX & SWT 5
Karuka 2D-Grafik Bilder in GridLayout einfügen AWT, Swing, JavaFX & SWT 7
J Bilder in ausführbare jar einbinden AWT, Swing, JavaFX & SWT 7
J Swing Bilder anzeigen in Gridlayout AWT, Swing, JavaFX & SWT 11
H 2D-Grafik Bilder laden ist nicht zuverlässig AWT, Swing, JavaFX & SWT 3
F Bilder ineinander kopieren AWT, Swing, JavaFX & SWT 3
P Bilder verkleinern AWT, Swing, JavaFX & SWT 2
C SWT Mehrere Bilder in GUI laden AWT, Swing, JavaFX & SWT 5
Furtano AWT Skalierung mehrerer Bilder / Histogramme im Fenster AWT, Swing, JavaFX & SWT 4
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
T 2D-Grafik Statisches Hintergrundbild, dynamische Bilder drüber AWT, Swing, JavaFX & SWT 2
C Zwei Bilder übereinander legen AWT, Swing, JavaFX & SWT 1
L [SWT] Daten und Bilder drucken AWT, Swing, JavaFX & SWT 2
S Flickr Bilder in Gui Oberfläche AWT, Swing, JavaFX & SWT 21
L Bilder im JPanel als Hintergrund - Swing AWT, Swing, JavaFX & SWT 2
K Bilder nacheinander einfügen AWT, Swing, JavaFX & SWT 3
H Bilder auf Buttons per Klick tauschen ( Puzzle ) AWT, Swing, JavaFX & SWT 8
H Bilder in Array zufällig anordnen AWT, Swing, JavaFX & SWT 4
P 2D-Grafik Viele Bilder zu einem Video AWT, Swing, JavaFX & SWT 3
J Vergleicher zweier Bilder AWT, Swing, JavaFX & SWT 2
C zwei Bilder nacheinander anzeigen AWT, Swing, JavaFX & SWT 2
L Swing Bilder über andere Bilder laden AWT, Swing, JavaFX & SWT 3
J Bilder überlappen AWT, Swing, JavaFX & SWT 18
P Bilder werden nach Änderung nicht angezeigt AWT, Swing, JavaFX & SWT 15
3 2D-Grafik Rechtecke auf Bilder legen und auslesen AWT, Swing, JavaFX & SWT 4
M Mehrere Bilder auf einmal anzeigen AWT, Swing, JavaFX & SWT 9
P Swing html mit bilder drin AWT, Swing, JavaFX & SWT 12
F Nicht alle Bilder werden angezeigt AWT, Swing, JavaFX & SWT 2
E Bilder auf JFrame AWT, Swing, JavaFX & SWT 7
R Bilder über URL einfügen AWT, Swing, JavaFX & SWT 4
F Applet zeigt Bilder nicht an AWT, Swing, JavaFX & SWT 5
M FileChooser Bilder auswählen AWT, Swing, JavaFX & SWT 8
G Swing Bilder zeichnen AWT, Swing, JavaFX & SWT 28
L Swing Bilder im Icons-Ordner AWT, Swing, JavaFX & SWT 4
U Bilder in Jar werden nicht gefunden AWT, Swing, JavaFX & SWT 5
S SWT Canvas: Flackernde Bilder AWT, Swing, JavaFX & SWT 3
A Bilder vergleichen AWT, Swing, JavaFX & SWT 4
E Swing JTextPane Inhalt(Text und Bilder) als HTML text bekommen AWT, Swing, JavaFX & SWT 3
E AWT Bilder und Java AWT, Swing, JavaFX & SWT 11
P Bilder einfügen AWT, Swing, JavaFX & SWT 4
D Swing JEditorPane mit HTML aber ohne Bilder AWT, Swing, JavaFX & SWT 3
S Swing Kleine Bilder in Panel einfügen AWT, Swing, JavaFX & SWT 13
A AWT Bilder als Link verwenden? AWT, Swing, JavaFX & SWT 11
T SWT Wie Bilder aus JAR-Dateien einbinden? AWT, Swing, JavaFX & SWT 12
S Bilder aus der Google Book Search API auslesen AWT, Swing, JavaFX & SWT 3
J Bilder in JScrollPane zentrieren AWT, Swing, JavaFX & SWT 5
M Bilder in einem Textfeld darstellen AWT, Swing, JavaFX & SWT 2
N Bilder aus Infos generieren lassen. Welches Framework? AWT, Swing, JavaFX & SWT 8
A SWT Bilder resizen AWT, Swing, JavaFX & SWT 9
A Swing Bilder in JFrame einfügen AWT, Swing, JavaFX & SWT 2
Cloud Einige Bilder werden nicht geladen AWT, Swing, JavaFX & SWT 11
A Java Print: Bilder werden zu groß ausgedruckt AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben