수색…


소개

그래픽은 벽, 캔버스, 스크린, 종이 또는 석재와 같이 시각적 인 이미지 또는 디자인을 알려주거나 설명하거나 대접하기위한 것입니다. 컴퓨터 지원 설계 및 제조, 조판 및 그래픽 아트, 교육 및 레크리에이션 소프트웨어와 같은 데이터의 그림 표현이 포함됩니다. 컴퓨터에서 생성 된 이미지를 컴퓨터 그래픽이라고합니다.

Java 2D API는 강력하고 복잡합니다. Java에서 2D 그래픽을 수행하는 방법은 여러 가지가 있습니다.

예제 1 : 자바를 사용하여 사각형 그리기 및 채우기

이것은 직사각형에 직사각형과 채우기 색을 인쇄하는 예제입니다. https://i.stack.imgur.com/dlC5v.jpg 여기에 이미지 설명을 입력하십시오.

Graphics 클래스의 대부분의 메서드는 2 개의 기본 그룹으로 나눌 수 있습니다.

  1. 기본 도형, 텍스트 및 이미지를 렌더링 할 수있는 메서드 그리기 및 채우기
  2. 해당 드로잉 및 채우기가 나타나는 방식에 영향을주는 애트리뷰트 설정 메소드

코드 예제 : 직사각형을 그려서 색상을 채우는 작은 예제로 시작해 보겠습니다. 여기서 우리는 두 개의 클래스를 선언합니다. 한 클래스는 MyPanel이고 다른 클래스는 Test입니다. MyPanel 클래스에서 우리는 drawRect () & fillRect () mathods를 사용하여 사각형을 그리고 Color를 채 웁니다. setColor (Color.blue) 메소드를 사용하여 색상을 설정합니다. 두 번째 클래스에서는 테스트 클래스 인 그래픽을 테스트합니다. 프레임을 만들고 p = new MyPanel () 객체와 함께 MyPanel을 삽입합니다. Test 클래스를 실행하면 Rectangle 및 Blue Color Filled Rectangle이 표시됩니다.

퍼스트 클래스 : 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
    } 
}

2 등급 : 시험

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

테두리 레이아웃에 대한 자세한 설명은 https://docs.oracle.com/javase/tutorial/uiswing/layout/border.html을 참조하십시오.

paintComponent ()

  • 그것은 회화의 주요 방법이다.
  • 기본적으로 배경을 먼저 그립니다.
  • 그 후, 커스텀 페인팅 (원 그리기, 직사각형 그리기 등)

Graphic2D는 Graphic2D 클래스를 참조합니다.

주 : Java 2D API를 사용하면 다음 작업을 쉽게 수행 할 수 있습니다.

  • 선, 직사각형 및 기타 기하학적 모양을 그립니다.
  • 솔리드 색이나 그라디언트 및 텍스처로 해당 도형을 채 웁니다.
  • 글꼴 및 렌더링 프로세스를 세부적으로 제어 할 수있는 옵션이있는 텍스트를 그립니다.
  • 선택적으로 필터링 작업을 적용하여 이미지를 그립니다.
  • 위의 렌더링 작업 중 합성 및 변형과 같은 작업을 적용합니다.

예제 2 : 타원 그리기 및 채우기

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);
이 메소드는 지정된 높이와 너비로 지정된 x 및 y 위치에 타원을 그립니다.

g2.fillOval (int x, int y, int height, int width); 이 메소드는 지정된 x 및 y 위치에서 지정된 높이 및 너비로 타원을 채 웁니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow