Ricerca…


introduzione

I grafici sono immagini o disegni visivi su una superficie, come un muro, una tela, uno schermo, una carta o una pietra per informare, illustrare o intrattenere. Comprende: rappresentazione grafica dei dati, come nella progettazione e produzione assistita da computer, nella composizione e nelle arti grafiche e nei software educativi e ricreativi. Le immagini generate da un computer si chiamano computer graphics.

L'API Java 2D è potente e complessa. Ci sono molti modi per fare grafica 2D in Java.

Esempio 1: Disegna e riempie un rettangolo usando Java

Questo è un esempio che stampa il rettangolo e il colore di riempimento nel rettangolo. https://i.stack.imgur.com/dlC5v.jpg inserisci la descrizione dell'immagine qui

La maggior parte dei metodi della classe Graphics può essere divisa in due gruppi di base:

  1. Disegna e riempie i metodi, consentendo di eseguire il rendering di forme, testo e immagini di base
  2. Attributi che impostano i metodi, che influenzano il modo in cui appare il disegno e il riempimento

Esempio di codice: iniziamo questo con un piccolo esempio di disegno di un rettangolo e riempimento di colore in esso. Qui dichiariamo due classi, una classe è MyPanel e l'altra classe è Test. Nella classe MyPanel utilizziamo i mathod drawRect () e fillRect () per disegnare il rettangolo e riempire il colore in esso. Impostiamo il colore con il metodo setColor (Color.blue). In Second Class testiamo la nostra grafica, che è Test Class, creiamo un Frame e inseriamo MyPanel con p = new MyPanel () oggetto. In esecuzione Test Class vediamo un rettangolo e un rettangolo pieno di colore blu.

Prima classe: 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
    } 
}

Seconda classe: 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();     
    } 
}

Per ulteriori spiegazioni sul layout del bordo: https://docs.oracle.com/javase/tutorial/uiswing/layout/border.html

paintComponent ()

  • È un metodo principale per dipingere
  • Di default, per prima cosa dipinge lo sfondo
  • Dopo di ciò, esegue la pittura personalizzata (disegno cerchio, rettangoli ecc.)

Graphic2D fa riferimento a Graphic2D Class

Nota: l'API Java 2D consente di eseguire facilmente le seguenti attività:

  • Disegna linee, rettangoli e qualsiasi altra forma geometrica.
  • Riempi quelle forme con colori solidi o sfumature e trame.
  • Disegna il testo con le opzioni per un controllo preciso sul carattere e sul processo di rendering.
  • Disegna le immagini, opzionalmente applicando le operazioni di filtro.
  • Applicare operazioni come compositing e trasformazione durante una delle operazioni di rendering di cui sopra.

Esempio 2: disegno e riempimento ovale

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 height, int width);
Questo metodo disegnerà un ovale alla posizione xey specificata con altezza e larghezza specificate.

g2.fillOval (int x, int y, int height, int width); Questo metodo riempie un ovale alla posizione xey specificata con altezza e larghezza specificate.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow