Sök…


Introduktion

Grafik är visuella bilder eller mönster på någon yta, till exempel en vägg, duk, skärm, papper eller sten för att informera, illustrera eller underhålla. Det inkluderar: bildrepresentation av data, som i datorstödd design och tillverkning, i inställning och grafik, och i utbildnings- och rekreationsprogramvara. Bilder som genereras av en dator kallas datorgrafik.

Java 2D API är kraftfullt och komplex. Det finns flera sätt att göra 2D-grafik i Java.

Exempel 1: Rita och fylla en rektangel med Java

Detta är ett exempel som skriver ut rektangel och fyller färg i rektangeln. https://i.stack.imgur.com/dlC5v.jpg ange bildbeskrivning här

De flesta metoderna i klassen Grafik kan delas in i två grundläggande grupper:

  1. Rita och fylla metoder så att du kan återge grundläggande former, text och bilder
  2. Attribut inställningsmetoder som påverkar hur den ritningen och fyllningen visas

Kodexempel: Låt oss börja med ett litet exempel på att rita en rektangel och fylla färg i den. Där förklarar vi två klasser, en klass är MyPanel och andra klass är Test. I klassen MyPanel använder vi drawRect () & fillRect () mathods för att rita rektangel och fylla Färg i den. Vi ställer in färgen med metoden setColor (Color.blue). I Second Class testar vi vår grafik som är Test Class, vi gör en ram och sätter MyPanel med p = nytt MyPanel () -objekt i det. Genom att testa Test Class ser vi en rektangel och en blå färgfylld rektangel.

Första klass: 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
    } 
}

Andra klass: 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();     
    } 
}

För mer förklaring om gränslayout: https://docs.oracle.com/javase/tutorial/uiswing/layout/border.html

paintComponent ()

  • Det är en huvudmetod för målning
  • Som standard målar det först bakgrunden
  • Därefter utför den anpassad målning (ritcirkel, rektanglar etc.)

Graphic2D hänvisar till Classic2D Class

Obs: Java 2D API låter dig enkelt utföra följande uppgifter:

  • Rita linjer, rektanglar och annan geometrisk form.
  • Fyll dessa former med solida färger eller lutningar och strukturer.
  • Rita text med alternativ för fin kontroll över teckensnitt och återgivningsprocess.
  • Rita bilder, eventuellt använda filteroperationer.
  • Använd operationer som komposition och transformering under någon av ovanstående återgivningsoperationer.

Exempel 2: Rita och fylla oval

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öjd, int bredd);
Denna metod drar en oval vid specificerat x- och y-läge med given höjd och bredd.

g2.fillOval (int x, int y, int höjd, int bredd); Denna metod kommer att fylla en oval vid angiven position x och y med given höjd och bredd.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow