2D-Grafik Panelgrafik im nachhinein skalieren

Neokil

Mitglied
Hallo,
ich habe ein Panel, auf das eine Grafik gezeichnet wird, die allerdings zu groß ist.
Gibt es eine Möglichkeit das ganze im Nachhinein auf die Größe des Panels anzupassen (damit nicht die ganze Methode relative Größen haben muss)?
So nach dem Schema:
Code:
ZeichneEinObjectDasNichtGanzPasst();
SkaliereDasGanzeSoDassAllesZuSehenIst();
Geht so was?

Gruß
Neokil
 
D

Dow Jones

Gast
Wenn du ein Graphic Objekt zum zeichnen verwendest kannst du das in der Regel in ein Graphics2D Object casten. Und da gibt's die Methode, die pro2 nannte, Graphics2D.scale(double sx, double sy). Wenn du die aufrufst sollte alles, was du anschließend mit dem Graphics2D Object zeichnest, automatisch um die Faktoren sx und sy gestreckt bzw gestaucht werden.
 

GUI-Programmer

Top Contributor
Oder du überprüfst die Größen:
Java:
import javax.swing.JPanel;
import java.awt.Image;
import java.awt.Graphics;
import java.awt.Graphics2D;

public class Test2 extends JPanel {
    private Image image;
    //Image initialisieren
    
    protected void paintComponent(Graphics g) {
       Graphics2D g2 = (Graphics2D) g.create();
       int imgWidth = image.getWidth(null);
       int imgHeight = image.getHeight(null);
       boolean horizontal = false;
       boolean vertical = false;
       if(imgWidth > getWidth()) horizontal = true;
       if(imgHeight > getHeight()) vertical = true;
       
       if(horizontal && vertical) g2.drawImage(image, 0, 0, getWidth(), getHeight(), this);
       else if(horizontal) g2.drawImage(image, 0, 0, getWidth(), imgHeight, this);
       else if(vertical) g2.drawImage(image, 0, 0, imgWidth, getHeight(), this);
       else g2.drawImage(image, 0, 0, this);
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Layout im Nachhinein ändern AWT, Swing, JavaFX & SWT 9
F JScrollPane im nachhinein ändern AWT, Swing, JavaFX & SWT 2
C SWT Composite Border im Nachhinein setzen AWT, Swing, JavaFX & SWT 1
C JFreeChart X-Achse Werte skalieren, begrenzen, zoomen AWT, Swing, JavaFX & SWT 5
berserkerdq2 Skalieren sich javafx objekte automatisch auf die Bildschirmgröße AWT, Swing, JavaFX & SWT 6
C Swing ImageIcon erstellen, skalieren und verwenden AWT, Swing, JavaFX & SWT 3
U Was genau ist skalieren bei 2dGraphics? AWT, Swing, JavaFX & SWT 4
S Bild neu skalieren - Bild in Bild speichern? AWT, Swing, JavaFX & SWT 6
J JavaFX JavaFX Elemente an Fenstergröße skalieren AWT, Swing, JavaFX & SWT 5
E Bilder skalieren AWT, Swing, JavaFX & SWT 4
B Swing JTextField mit Bildschirmauflösung skalieren lassen. AWT, Swing, JavaFX & SWT 4
D LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
S JViewPort Ausschnitt skalieren AWT, Swing, JavaFX & SWT 13
A Bild in JLabel skalieren AWT, Swing, JavaFX & SWT 4
L 2D-Grafik Avatar skalieren und zuschneiden. AWT, Swing, JavaFX & SWT 9
S Bild skalieren AWT, Swing, JavaFX & SWT 3
C LayoutManager Grafik soll nicht im GridLayout Skalieren AWT, Swing, JavaFX & SWT 3
A JFrame skalieren AWT, Swing, JavaFX & SWT 2
F 2D-Grafik Skalieren der Scrollbars beim Zoomen einer JScrollPane AWT, Swing, JavaFX & SWT 4
P Swing Bild an Fenstergröße skalieren AWT, Swing, JavaFX & SWT 11
S AWT Skalieren von Polygon über Area klappt nicht AWT, Swing, JavaFX & SWT 4
C GUI-Komponenten skalieren AWT, Swing, JavaFX & SWT 10
B Fenstergröße automatisch skalieren AWT, Swing, JavaFX & SWT 7
B Bild skalieren AWT, Swing, JavaFX & SWT 2
N JFreeChart: Plot soll mit skalieren AWT, Swing, JavaFX & SWT 5
Q 2D-Grafik Shape skalieren AWT, Swing, JavaFX & SWT 5
D BufferedImage Größe skalieren AWT, Swing, JavaFX & SWT 2
P Swing Skalieren mit DrawImage macht Linien kaputt AWT, Swing, JavaFX & SWT 6
C Image performant skalieren AWT, Swing, JavaFX & SWT 5
R Bild drehen UND skalieren (Image bzw BufferedImage) AWT, Swing, JavaFX & SWT 5
DStrohma Bild für TrayIcon skalieren AWT, Swing, JavaFX & SWT 13
N Panel skalieren AWT, Swing, JavaFX & SWT 7
N Swing sehr großes Bild skalieren AWT, Swing, JavaFX & SWT 8
D image skalieren AWT, Swing, JavaFX & SWT 5
K JPanel proportional skalieren AWT, Swing, JavaFX & SWT 7
P [SWT] Background-Image skalieren statt kacheln AWT, Swing, JavaFX & SWT 2
R Bild skalieren und anschließend beschneiden AWT, Swing, JavaFX & SWT 3
J Fixes Layout auf beliebige Fenstergröße skalieren AWT, Swing, JavaFX & SWT 2
I Layout Problem beim Skalieren AWT, Swing, JavaFX & SWT 3
M Schlechte Qualität beim skalieren von Bildern AWT, Swing, JavaFX & SWT 10
S Bild skalieren AWT, Swing, JavaFX & SWT 9
B Bild Skalieren AWT, Swing, JavaFX & SWT 2
I Bild skalieren AWT, Swing, JavaFX & SWT 4
O JFrame JPanelgrösse fixieren Bild darin skalieren AWT, Swing, JavaFX & SWT 2
M BufferedImage skalieren AWT, Swing, JavaFX & SWT 6
S Drucken - Bild skalieren AWT, Swing, JavaFX & SWT 2
I Bilder skalieren => OutOfMemoryError AWT, Swing, JavaFX & SWT 2
M Bild skalieren AWT, Swing, JavaFX & SWT 8
S AWT Frame-Inhalt in Echtzeit skalieren AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben