Image eines bestimmten Bereichs eines JPanels erstellen

Status
Nicht offen für weitere Antworten.

Fabian23

Aktives Mitglied
Hallo zusammen,

ich möchte gerne von Shapes, die auf einem JPanel liegen, ein Bild erstellen. Das soll aber nur von Shapes erstellt werden, die selektiert sind. Die Selektion und das Herausfinden, wer selektiert ist, ist kein Problem. Jetzt habe ich aber noch zwei Fragen:

1. Wie kann ich am einfachsten den Bereich herausfinden, in dem die selektierten Shapes liegen. Muss ich die durchgehen und mir immer die größten Koordinaten merken?

2. Wie kann ich aus dem Bereich ein Bild erstellen? Bzw. anders gefragt, was bräuchte ich, um aus dem Bereich bin Bild zu erstellen? Muss ich beispielsweise ein Rectangle haben, dass den Bereich enthält oder reichen Koordinaten?


Gruß,
Fabian
 

kaie

Bekanntes Mitglied
Meinst Du sowas?
Code:
import java.awt.*;
import java.awt.image.*;

import javax.swing.*;

public class PanelSnapshot
{
    public static Image erstelleSchnappschuss(JPanel p, JComponent[] objekte)
    {
        // BoundingBox aller selektierten Objekte
        Rectangle r = objekte[0].getBounds();
        for (int i = 1; i < objekte.length; i++)
            r = r.union(objekte[i].getBounds());

        // auf ein neues Image zeichnen
        BufferedImage bi = new BufferedImage(r.width, r.height,
                BufferedImage.TYPE_INT_RGB);
        Graphics g = bi.getGraphics();
        g.translate(-r.x,-r.y);
        p.update(g);

        // Bild zurückgeben
        return bi;
    }

    public static void main( String[] args )
    {
        // Fenster mit 5 zufällig verteilten Komponenten erzeugen
        JFrame f1 = new JFrame("Fenster 1");
        JPanel p = new JPanel();
        p.setLayout( null);
        JComponent[] c = new JComponent[5];
        c[0] = new JButton("Ein Button");
        c[1] = new JLabel("Ein Label");
        c[2] = new JCheckBox("Eine Checkbox",true);
        c[3] = new JTree();
        c[4] = new JList(new String[] {"Eins","Zwei","Drei"} );
        for( int i=0; i<c.length; i++ )
        {
            p.add(c[i]);
            c[i].setBounds((int)(300*Math.random()),(int)(300*Math.random()),c[i].getPreferredSize().width,c[i].getPreferredSize().height);
        }
        f1.add(p);
        f1.setSize(500,500);
        f1.setVisible(true);
        
        // Bildschirmfoto des Buttons, der Checkbox und der JTree erzeugen
        JComponent[] auswahl = new JComponent[] {c[0],c[2], c[3]};
        Image i = erstelleSchnappschuss(p,auswahl);
        JFrame f2 = new JFrame("Schnappschuss");
        f2.add( new JButton(new ImageIcon(i)));
        f2.pack();
        f2.setVisible(true);
    }
}
Übrigens würde diese Frage wohl besser in das Swing/AWT-Forum passen... hier wird sie auch zu leicht übersehen!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Position eines Image verändern mithilfe eines Timers Spiele- und Multimedia-Programmierung 6
F nur Ausschnitt eines Image zeichnen Spiele- und Multimedia-Programmierung 9
K Video: Per Image Information Spiele- und Multimedia-Programmierung 3
M Image unpainten Spiele- und Multimedia-Programmierung 3
B Bild ohne Image auf die Festplatte streamen Spiele- und Multimedia-Programmierung 4
X Android Slick AE Image Pfad Spiele- und Multimedia-Programmierung 3
A Drehen von einem Image Spiele- und Multimedia-Programmierung 4
C Mouseover Area genau wie Image Spiele- und Multimedia-Programmierung 8
L Slick-Image aus byte-array erzeugen Spiele- und Multimedia-Programmierung 2
0 2D Spiel Welt scrollen bzw Image erweitern Spiele- und Multimedia-Programmierung 2
T jME3: awt.Image <-> jME3.Image Spiele- und Multimedia-Programmierung 7
F Hintergrund bei Image entfernen Spiele- und Multimedia-Programmierung 4
S Image-Einbindung Spiele- und Multimedia-Programmierung 5
StrikeTom .gif animation als image abspielen Spiele- und Multimedia-Programmierung 2
T Glüh effekt um Image Spiele- und Multimedia-Programmierung 9
radiac Aktuelles ScreenBild als Image? Spiele- und Multimedia-Programmierung 6
Stillmatic1985 Buffered Image drucken Spiele- und Multimedia-Programmierung 1
P Culling von Image-Objekten Spiele- und Multimedia-Programmierung 3
E Alternative zu import com.sun.image.codec.jpeg.JPEGCodec ? Spiele- und Multimedia-Programmierung 1
E JPCT background image Spiele- und Multimedia-Programmierung 3
P Grosses Bufferd Image Drucken Print API Spiele- und Multimedia-Programmierung 3
G Image drucken Spiele- und Multimedia-Programmierung 17
S Image will nicht laden Spiele- und Multimedia-Programmierung 3
A Image in BufferedImage konvertieren Spiele- und Multimedia-Programmierung 2
O Image dynamisch erstellen. Spiele- und Multimedia-Programmierung 6
G Punkt in Image auf Transparenz prüfen Spiele- und Multimedia-Programmierung 6
G Bereich im Image löschen Spiele- und Multimedia-Programmierung 4
H image.setRGB() zeichnet falsch Spiele- und Multimedia-Programmierung 3
R Transparente Farbe von (Buffered) Image Spiele- und Multimedia-Programmierung 10
D Welcher Image Typ am besten für 2D-Spiele geeignet? Spiele- und Multimedia-Programmierung 5
O Image konvertieren in monochrom scharz/weiß Spiele- und Multimedia-Programmierung 3
T Spiel als Vollbild starten mit Image als HIntergrund Spiele- und Multimedia-Programmierung 8
O transparente farbe in Image mit Graphics Spiele- und Multimedia-Programmierung 8
S Image to BufferedImage Spiele- und Multimedia-Programmierung 3
D Image.getGraphics() in einem Frame Spiele- und Multimedia-Programmierung 4
N Seltsame Exception bei Code eines Spiele-Tutorials Spiele- und Multimedia-Programmierung 6
R Ideen für die Backend-Entwicklung eines Games gesucht Spiele- und Multimedia-Programmierung 8
A Programmieren eines Memorys mit Java (in Eclipse) Spiele- und Multimedia-Programmierung 5
E Programmierung eines 2.5D Point&Click Adventures ohne Spieleengine machbar? Spiele- und Multimedia-Programmierung 14
K Click innerhalb eines 45° gekippten Rechtecks Spiele- und Multimedia-Programmierung 9
J LibGdx_3D: Klamotten eines Charakters modifizieren Spiele- und Multimedia-Programmierung 2
K Erstellen eines Fotoalbums mit Java Spiele- und Multimedia-Programmierung 8
R Fehler beim Laden eines 2D-Bildes Spiele- und Multimedia-Programmierung 3
L OpenGL TransformationMatrix eines Flugzeugs Spiele- und Multimedia-Programmierung 2
M Programmierung eines "Fantasy Rollenspiels" Spiele- und Multimedia-Programmierung 5
E Laufanimation eines Sprites Spiele- und Multimedia-Programmierung 6
Finalspace Entwicklung eines Jump & Run Spiels Video-Tutorial Spiele- und Multimedia-Programmierung 12
T Hintergrundmusik eines Spiels mit Hilfe von JLayer Spiele- und Multimedia-Programmierung 12
M Cylinder anhand eines Vektors ausrichten (Java3d) Spiele- und Multimedia-Programmierung 0
M bewegen eines Objektes Spiele- und Multimedia-Programmierung 2
U Hilfe bei Implementierung eines PointSounds in Java3D Spiele- und Multimedia-Programmierung 1
gamebreiti Index eines Elements einer ArrayList abfragen Spiele- und Multimedia-Programmierung 1
X "Rebuffen" - Messen der Zeit eines Timers Spiele- und Multimedia-Programmierung 3
S Design eines Schachspiels Spiele- und Multimedia-Programmierung 3
S Mausklicks innerhalb eines JFrames/SWTBrowser ohne richtige Maus simulieren Spiele- und Multimedia-Programmierung 6
F Programmierung eines Bots Spiele- und Multimedia-Programmierung 23
A Wann ist ein Punkt inerhalb eines Polygons? Spiele- und Multimedia-Programmierung 2
F LWJGL Problem mit Erstellen eines Objekts und der Kamera Spiele- und Multimedia-Programmierung 5
R Drehen eines Bildes relativ zur Mauszeigerposition Spiele- und Multimedia-Programmierung 2
M Pattern zur Auswahl eines Objektes anhand vieler Kriterien Spiele- und Multimedia-Programmierung 2
H Skalierung eines Polygons ohne das es verschoben wird Spiele- und Multimedia-Programmierung 3
R Triangulation eines komplexen Polygons Spiele- und Multimedia-Programmierung 4
L Lwjgl Darstellung eines Kreises im Raum Spiele- und Multimedia-Programmierung 3
M Pixel eines BufferedImage bearbeiten (Performance) Spiele- und Multimedia-Programmierung 23
G Rotieren eines Objekts (2D) Spiele- und Multimedia-Programmierung 8
S Umfang eines Polygons erzeugen Spiele- und Multimedia-Programmierung 1
D Highscoreliste eines Applets funktioniert online nicht Spiele- und Multimedia-Programmierung 4
W CannotRealizeException (jmf) beim abspielen eines liedes Spiele- und Multimedia-Programmierung 3
F Meine Aufgabe: Client-Server am Beispiel einer Implementation eines Tic-Tac-Toe Netzwerkspieles Spiele- und Multimedia-Programmierung 7
D Koordinaten eines 2D Sprites Spiele- und Multimedia-Programmierung 2
B Teile eines Bildes laden - BitBlk und drawImage Spiele- und Multimedia-Programmierung 3
S Interpolation eines Bildes Spiele- und Multimedia-Programmierung 6
S Problem beim laden eines Bildes in einer Methode Spiele- und Multimedia-Programmierung 14
N Bildposition innerhalb eines anderen Bildes ermitteln Spiele- und Multimedia-Programmierung 2
G rotation eines würfels Spiele- und Multimedia-Programmierung 9
G Bewegung eines Grafikobjektes Spiele- und Multimedia-Programmierung 7
A Programmieren eines Bruchrechners Spiele- und Multimedia-Programmierung 3
H Decke zeichnen mit Hilfe eines Polygons Spiele- und Multimedia-Programmierung 2
J Rotieren eines 2D Images endet in Java heap space Error Spiele- und Multimedia-Programmierung 15
W Affine Transformation, Rotieren eines Objekts Spiele- und Multimedia-Programmierung 2
S fließende/bewegende Striche eines Auswahlrechtecks Spiele- und Multimedia-Programmierung 9
A Bounds eines gedrehten Objekts berechnen Spiele- und Multimedia-Programmierung 30
T Erstellen eines ausdruckbaren Formulars Spiele- und Multimedia-Programmierung 5
T Umsetzung eines 2D Jump and Runs Spiele- und Multimedia-Programmierung 7
T Brightness eines Bildes [DRINGEND] Spiele- und Multimedia-Programmierung 2
S Java3D - mehrere Instanzen eines Geometrieobjektes erzeugen Spiele- und Multimedia-Programmierung 3
ARadauer Grauwerte eines jpg ermitteln Spiele- und Multimedia-Programmierung 4
A Anzeigen eines Grapfen Spiele- und Multimedia-Programmierung 13
R Die korrekte Breite/Höhe eines Bildes wird nicht erkannt. Spiele- und Multimedia-Programmierung 2
S Problem bzgl. Umsetzung eines Rollenspiel Spiele- und Multimedia-Programmierung 6
M Ausschneiden eines Bereichs / Avatar Spiele- und Multimedia-Programmierung 2
G Ermitteln eines Punktes in einer anderen TransformGroup Spiele- und Multimedia-Programmierung 2
M Frage eines Anfängers Spiele- und Multimedia-Programmierung 3
DEvent [2D] Farbe bestimmten Pixels eines Bildes ändern Spiele- und Multimedia-Programmierung 3
V Wie berechnet man das Bild eines Schwarzen Loches in Java? Spiele- und Multimedia-Programmierung 10
G Breite eines Strings Spiele- und Multimedia-Programmierung 2
S Text an einer Seite eines Cubes Spiele- und Multimedia-Programmierung 7
N Grafik als Hintergrund eines Rechtecks verwenden? Spiele- und Multimedia-Programmierung 4
N Rundenstrategiespiel - Problem beim Drehen eines Bildes Spiele- und Multimedia-Programmierung 18
F Brauche Hilfe bei Bewegung eines Rechtecks [Applet] Spiele- und Multimedia-Programmierung 5

Ähnliche Java Themen

Neue Themen


Oben