Suche…


Einführung

Grafiken sind visuelle Bilder oder Designs auf einer bestimmten Oberfläche, z. B. einer Wand, Leinwand, Leinwand, Papier oder Stein, zum Informieren, Illustrieren oder Unterhalten. Dazu gehören: bildliche Darstellung von Daten, wie beim computergestützten Entwurf und der Fertigung, beim Satz und in der Grafik sowie in Bildungs- und Freizeitsoftware. Bilder, die von einem Computer erzeugt werden, werden als Computergrafik bezeichnet.

Die Java 2D-API ist leistungsstark und komplex. Es gibt mehrere Möglichkeiten, 2D-Grafiken in Java zu erstellen.

Beispiel 1: Zeichnen und füllen Sie ein Rechteck mit Java

Dies ist ein Beispiel, bei dem Rechteck und Füllfarbe im Rechteck gedruckt werden. https://i.stack.imgur.com/dlC5v.jpg Geben Sie hier die Bildbeschreibung ein

Die meisten Methoden der Graphics-Klasse können in zwei grundlegende Gruppen unterteilt werden:

  1. Zeichnen und füllen Sie Methoden, um grundlegende Formen, Texte und Bilder zu rendern
  2. Attribute Einstellungsmethoden, die beeinflussen, wie diese Zeichnung und Füllung angezeigt wird

Codebeispiel: Beginnen wir mit einem kleinen Beispiel, in dem Sie ein Rechteck zeichnen und die Füllfarbe einfügen. Dort deklarieren wir zwei Klassen, eine Klasse ist MyPanel und die andere Klasse ist Test. In der Klasse MyPanel verwenden wir drawRect () & fillRect () mathods, um ein Rechteck zu zeichnen und die Farbe darin zu füllen. Wir setzen die Farbe mit der setColor (Color.blue) -Methode. In der zweiten Klasse testen wir unsere Grafik, die Testklasse ist. Wir erstellen einen Frame und fügen MyPanel mit dem Objekt p = new MyPanel () in das Objekt ein. Bei der Testklasse sehen wir ein Rechteck und ein mit Farbe gefülltes Rechteck.

Erste Klasse: MyPanel

import javax.swing.*;
import java.awt.*;
// MyPanel extends JPanel, which will eventually be placed in a JFrame
public class MyPanel extends JPanel { 
    // custom painting is performed by the paintComponent method
    @Override
    public void paintComponent(Graphics g){
        // clear the previous painting
        super.paintComponent(g);
        // cast Graphics to Graphics2D
        Graphics2D g2 = (Graphics2D) g;
        g2.setColor(Color.red); // sets Graphics2D color
        // draw the rectangle
        g2.drawRect(0,0,100,100); // drawRect(x-position, y-position, width, height)
        g2.setColor(Color.blue);
        g2.fillRect(200,0,100,100); // fill new rectangle with color blue
    } 
}

Zweite Klasse: Test

import javax.swing.;
import java.awt.;    
public class Test { //the Class by which we display our rectangle    
    JFrame f;    
    MyPanel p;    
    public Test(){    
        f = new JFrame();    
        // get the content area of Panel.    
        Container c = f.getContentPane();    
        // set the LayoutManager
        c.setLayout(new BorderLayout());        
        p = new MyPanel();    
        // add MyPanel object into container    
        c.add(p); 
        // set the size of the JFrame
        f.setSize(400,400);    
        // make the JFrame visible
        f.setVisible(true);    
        // sets close behavior; EXIT_ON_CLOSE invokes System.exit(0) on closing the JFrame
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    
    }       
    
    public static void main(String args[ ]){    
        Test t = new Test();     
    } 
}

Weitere Erläuterungen zum Randlayout: https://docs.oracle.com/javase/tutorial/uiswing/layout/border.html

paintComponent ()

  • Es ist eine Hauptmethode für das Malen
  • Standardmäßig wird zuerst der Hintergrund gezeichnet
  • Danach führt es benutzerdefinierte Bemalungen durch (Zeichnen von Kreisen, Rechtecken usw.).

Graphic2D bezieht sich auf die Graphic2D-Klasse

Hinweis: Mit der Java 2D-API können Sie die folgenden Aufgaben problemlos ausführen:

  • Zeichnen Sie Linien, Rechtecke und andere geometrische Formen.
  • Füllen Sie diese Formen mit Volltonfarben oder Farbverläufen und Texturen.
  • Zeichnen Sie Text mit Optionen zur Feinsteuerung der Schriftart und des Renderprozesses.
  • Zeichnen Sie Bilder und wenden Sie optional Filtervorgänge an.
  • Wenden Sie Vorgänge an, z. B. Compositing und Transformation während einer der oben genannten Rendervorgänge.

Beispiel 2: Zeichnen und Oval füllen

import javax.swing.*;    
import java.awt.*;    

public class MyPanel extends JPanel {
    @Override
    public void paintComponent(Graphics g){    
        // clear the previous painting
        super.paintComponent(g);    
        Graphics2D g2 = (Graphics2D)g;    
        g2.setColor(Color.blue);    
        g2.drawOval(0, 0, 20,20);  
        g2.fillOval(50,50,20,20);    
    }
}

g2.drawOval (int x, int y, int Höhe, int Breite);
Diese Methode zeichnet ein Oval an der angegebenen x- und y-Position mit der angegebenen Höhe und Breite.

g2.fillOval (int x, int y, int Höhe, int Breite); Diese Methode füllt ein Oval an der angegebenen x- und y-Position mit der angegebenen Höhe und Breite.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow