Rechteck eines Graphics eines JPanels in einem anderen JPanel anzeigen

IDontKnow

Mitglied
Letztendlich bin ich dabei eine Lupe für Java zu schreiben. Da ich hierzu nichts gefunden habe, habe ich begonnen eine eigene zu bauen.

Ich habe also beispielsweise ein Bild auf ein JPanel gemalt.
Jetzt will ich mit der Maus an eine bestimmte Stelle gehen und der Bildausschnitt der 50 pixel in alle Richtungen entfernt ist in einem extra JPanel anzeigen.

Entschuldigung für die kurze Beschreibung und meinen derzeit fehlenden Codevorschlag. Aber ehrlich gesagt weiß ich nicht wie ich daran kommen soll. Hab bis jetzt nur die Variante gefunden über:

new Robot().createScreenCapture(...)

zu gehen. Aber letztentlich sollte das doch irgendwie schöner gehen?


Falls dies schon irgendwo behandelt wurde bin ich auch über einen Link dankbar, da ich selber leider nichts gefunden habe.

Herzlichen Dank im Voraus!
 

schulli

Mitglied
Ich denke du musst erst das ganze Image vergrößern

Java:
BufferedImage resizedImage = new BufferedImage(IMG_WIDTH, IMG_HEIGHT, type);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, IMG_WIDTH, IMG_HEIGHT, null);
g.dispose();

Dann kannst du aus dem vergrößertem Image ein Rechteck "ausschneiden"

Java:
BufferedImage zoomImage = resizedImage.getSubimage(int x, int y, int w, int h);
 

Marco13

Top Contributor
Wenn man tatsächlich ein Image zur Verfügung hat, braucht man da nicht ein neues, skaliertes Image zu erstellen, und dort dann was rauszuschneiden (es wäre auch gelinde gesagt "ungeschickt", wenn man ein 1000x1000-Bild auf 5000x5000 hochrechnet, um sich da dann einen 500x500-Ausschnitt rauszuholen - von den Problemen mit getSubImage mal abgesehen ( http://www.java-forum.org/spiele-multimedia-programmierung/120318-performance-bufferedimages.html ))

In diesem Fall kann man einfach den gewünschten Ausschnitt direkt vergrößert zeichnen. Mit Graphics (Java Platform SE 6) sollte man das hinkreigen, vielleicht tut's auch eine von denen mit weniger Paramtern, je nachdem, was genau gebraucht wird.
 

IDontKnow

Mitglied
Danke euch beiden. Hab es wie folgt gelöst (dabei ist parent das andere Panel)...

Java:
...
BufferedImage offImg = new BufferedImage(parent.getWidth(), parent.getHeight(), BufferedImage.TYPE_INT_RGB);

...


		parent.paint(offImg.createGraphics());
			BufferedImage resultImage = offImg
					.getSubimage(x, y, this.getWidth() / zoomFaktor,
							this.getHeight() / zoomFaktor);

			graphics.drawImage(resultImage.getScaledInstance(
					resultImage.getWidth() * zoomFaktor,
					resultImage.getHeight() * zoomFaktor, Image.SCALE_SMOOTH),
					0, 0, rectWidth, rectHeight, this);
...
 

Marco13

Top Contributor
Mit der verlinkten Methode einen Ausschnitt aus dem "offImage" zu zeichnen hat nicht geklappt?
Habe gerade keine Lust, ein KSKB zu basteln. Das verstehst du bestimmt.
 

IDontKnow

Mitglied
Ah mein Fehler. Danke dir!
Hatte nicht bemerkt, dass dein link auf eine bestimmte Methode von Graphics zeigt.

Mit dieser hat es auch wunderbar funktioniert!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Kann ich ein Rechteck mittig im Fenster halten, egal wie ich die Bildschirmgröße verändere? AWT, Swing, JavaFX & SWT 3
berserkerdq2 Mein Rechteck hat 4 Seiten, ich soll je nach dem, welche Seite berührt wurde, etwas ausführen, wie prüfe ich das? AWT, Swing, JavaFX & SWT 12
B AWT Rechteck abnehmen lassen AWT, Swing, JavaFX & SWT 9
N Mit KeyListener ein rechteck zeichnen AWT, Swing, JavaFX & SWT 9
E Button verschwindet nachdem ein Rechteck gezeichnet wurde AWT, Swing, JavaFX & SWT 5
T Java Swing - kleines Rechteck unter dem cursor AWT, Swing, JavaFX & SWT 5
S Swing Rechteck über JTable zeichnen (per MouseListener) AWT, Swing, JavaFX & SWT 1
L Swing Ein Rechteck in ein Grid Zeichnen AWT, Swing, JavaFX & SWT 5
D Quadrat, Rechteck zeichnen AWT, Swing, JavaFX & SWT 3
F Java Swing Rechteck in JPanel zeichnen AWT, Swing, JavaFX & SWT 7
F 2D-Grafik Gestricheltes Rechteck AWT, Swing, JavaFX & SWT 1
Z Frame mit Rechteck! AWT, Swing, JavaFX & SWT 16
T Problem beim Zeichnen von Rechteck AWT, Swing, JavaFX & SWT 3
S Warum wird dieses Rechteck nicht korrekt gemalt? AWT, Swing, JavaFX & SWT 7
S "Quadrat oder Rechteck" - Check AWT, Swing, JavaFX & SWT 3
C Rechteck drehen AWT, Swing, JavaFX & SWT 1
D 2D-Grafik Rechteck befindet sich unter dem Rahmen des JFrame. AWT, Swing, JavaFX & SWT 1
M JavaFX Rechteck mit MausListener AWT, Swing, JavaFX & SWT 3
B Rechteck Mit Hilfe Von Timeline, KeyFrames animieren AWT, Swing, JavaFX & SWT 3
T transparent geht nicht (btw: rechteck) AWT, Swing, JavaFX & SWT 13
J SWT Rechteck Füllfarbe wird bei Action falsch gefüll AWT, Swing, JavaFX & SWT 2
H Rechteck via Mouse bewegen AWT, Swing, JavaFX & SWT 2
A Rechteck zeichen AWT, Swing, JavaFX & SWT 4
C Auto fahren - Rechteck JFrame AWT, Swing, JavaFX & SWT 6
E Swing Rechteck und Kreise verschieben AWT, Swing, JavaFX & SWT 3
G Swing Rechteck uebermalen AWT, Swing, JavaFX & SWT 10
M Rechteck "umdrehen"/über die Kante drehen AWT, Swing, JavaFX & SWT 4
J 2D-Grafik Rechteck mit dickerem Rand zeichnen AWT, Swing, JavaFX & SWT 8
H Rechteck grafisch ausgeben (2D) AWT, Swing, JavaFX & SWT 3
G Rechteck mit Farbverlauf AWT, Swing, JavaFX & SWT 5
E Rechteck in JPanel Zeichnen AWT, Swing, JavaFX & SWT 6
G Rechteck zeichnen + "special features" :-) AWT, Swing, JavaFX & SWT 16
A Java Button mal nicht nur als rechteck AWT, Swing, JavaFX & SWT 16
B awt rechteck zeichnen AWT, Swing, JavaFX & SWT 3
R Rechteck drehen! AWT, Swing, JavaFX & SWT 4
K Problem mit JLabel, Rechteck, repaint() ;) AWT, Swing, JavaFX & SWT 2
J Auf Button - Druck soll Rechteck Farbe verändern AWT, Swing, JavaFX & SWT 8
M Rechteck zeichnen AWT, Swing, JavaFX & SWT 4
TheJavaKid Kreis, Rechteck, Linie. verschieben AWT, Swing, JavaFX & SWT 5
S Rechteck per Mouse aufziehen AWT, Swing, JavaFX & SWT 7
A Dreidimensionales Rechteck AWT, Swing, JavaFX & SWT 3
C Schräges Rechteck in Swing? AWT, Swing, JavaFX & SWT 7
G Rechteck normalisieren AWT, Swing, JavaFX & SWT 2
P Rechteck "verkehrt" herum zeichnen AWT, Swing, JavaFX & SWT 2
jojoge wie kann ich in eine Benennung eines JButtons eine Variable einbauen? AWT, Swing, JavaFX & SWT 6
L paintComponent in Panel eines Borderlayouts hinzufügen AWT, Swing, JavaFX & SWT 3
I Einbindung eines jpg/png/icons in eine GUI AWT, Swing, JavaFX & SWT 1
Splayfer Umrandung eines AttributedStrings AWT, Swing, JavaFX & SWT 2
Guybrush Threepwood Einfachste Möglichkeit zum Abspielen eines Videos in Swing AWT, Swing, JavaFX & SWT 4
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
Jose05 zugreifen auf ein Objekt eines GridPanes AWT, Swing, JavaFX & SWT 0
melaniemueller Verschiebung eines Fensters über Button AWT, Swing, JavaFX & SWT 27
news2swen automatisches erstellen eines Languagefiles AWT, Swing, JavaFX & SWT 1
B Stylen eines JTextPane funktioniert nicht AWT, Swing, JavaFX & SWT 1
MiMa Schliessen eines FXML Fensters? AWT, Swing, JavaFX & SWT 10
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
L AWT Ändern der Farbe eines BufferedImage mit Farbähnlichkeit AWT, Swing, JavaFX & SWT 5
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 JavaFX Validierung eines Spinner AWT, Swing, JavaFX & SWT 1
M Builden eines lauffähigen JAR Files AWT, Swing, JavaFX & SWT 3
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
M JavaFX rotieren eines Kreises mit konstanter Geschwindigkeit AWT, Swing, JavaFX & SWT 1
K JavaFX Allgemeine Fragen zu dem Aufbau eines Programms hinsichtlich der Klassen AWT, Swing, JavaFX & SWT 1
M JavaFX Auf ein UI Elemement eines anderen Controllers zugreifen AWT, Swing, JavaFX & SWT 0
P Bewegung eines Balkens in eineum JPanel welches als Spielfeld fungiert AWT, Swing, JavaFX & SWT 2
Tronert JavaFX Linienstärke eines Separators ändern? AWT, Swing, JavaFX & SWT 3
N JavaFX Group: Gezieltes entfernen eines Objects (Rectangle) AWT, Swing, JavaFX & SWT 0
J Ziehen eines Buttons im JPanel AWT, Swing, JavaFX & SWT 2
J Drag and Drop eines Buttons AWT, Swing, JavaFX & SWT 0
M NullPointerException bei Übergabe eines RadioButtons AWT, Swing, JavaFX & SWT 11
DaCrazyJavaExpert Swing Extern den Text eines nicht fetsgelegten Buttons bekommen. AWT, Swing, JavaFX & SWT 12
J JavaFX Rectangle innerhalb eines Rectangle oder Panes positionieren? AWT, Swing, JavaFX & SWT 1
C JavaFX Inhalt eines SplitPane's durch Menü-Auswahl ändern? AWT, Swing, JavaFX & SWT 13
J linken Bildausschnitt eines BufferedImage abschneiden AWT, Swing, JavaFX & SWT 4
J bestimmten Bereich eines JPanels drucken AWT, Swing, JavaFX & SWT 2
D LookAndFeel Überschreiben eines UIDelegate AWT, Swing, JavaFX & SWT 0
T Java FX Probleme beim befüllen eines Tableviews AWT, Swing, JavaFX & SWT 5
C Zeichen eines 6 -Eckes AWT, Swing, JavaFX & SWT 1
U JavaFX Wechsel der Scene nach betätigen eines Button AWT, Swing, JavaFX & SWT 2
F Screenshot eines JPanel AWT, Swing, JavaFX & SWT 3
S JavaFX TreeItem: Icon am Ende eines Eintrags anhängen AWT, Swing, JavaFX & SWT 2
D TAB Taste innerhalb eines JSpinner AWT, Swing, JavaFX & SWT 2
R Update eines Labels bei Methodenaufruf einer anderen Klasse AWT, Swing, JavaFX & SWT 9
F Swing Spaltenbreite einer Column eines JTable auslesen AWT, Swing, JavaFX & SWT 5
D Swing Komponenten Anordnung eines Panels in Verbindung eines weiteren Panels AWT, Swing, JavaFX & SWT 9
F Swing Rotation eines Bildes mit beliebigen Koordinaten um den Mittelpunkt AWT, Swing, JavaFX & SWT 3
Cromewell JavaFX Nur bestimmten Teil eines Canvas rendern und anzeigen AWT, Swing, JavaFX & SWT 2
Z Swing Variable eines Objekt aus Hashmap in JList anzeigen AWT, Swing, JavaFX & SWT 1
D Frame beim starten eines anderen Frames schließen AWT, Swing, JavaFX & SWT 2
R Hilfe beim ändern des Hintergrundes eines JFrames AWT, Swing, JavaFX & SWT 9
T Durch klicken eines Buttons Klasse wechseln AWT, Swing, JavaFX & SWT 2
E Swing Copy und Paste eines einzelnen Knoten aus einem JTree AWT, Swing, JavaFX & SWT 1
J Swing Vertikales Zeichnen eines Strings mit Java2D AWT, Swing, JavaFX & SWT 1
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
V JavaFX Teile eines Images Transparent machen AWT, Swing, JavaFX & SWT 4
I JavaFX Langes drücken eines Buttons AWT, Swing, JavaFX & SWT 4
B Swing Wie Witdh und Height eines GuiElements bekommen AWT, Swing, JavaFX & SWT 5
L Swing Teile eines JPanel in eigene Klasse auslagern AWT, Swing, JavaFX & SWT 3
M Swing JPanel innerhalb eines Frames verschieben AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben