Java Language
Java 2D 그래픽
수색…
소개
그래픽은 벽, 캔버스, 스크린, 종이 또는 석재와 같이 시각적 인 이미지 또는 디자인을 알려주거나 설명하거나 대접하기위한 것입니다. 컴퓨터 지원 설계 및 제조, 조판 및 그래픽 아트, 교육 및 레크리에이션 소프트웨어와 같은 데이터의 그림 표현이 포함됩니다. 컴퓨터에서 생성 된 이미지를 컴퓨터 그래픽이라고합니다.
Java 2D API는 강력하고 복잡합니다. Java에서 2D 그래픽을 수행하는 방법은 여러 가지가 있습니다.
예제 1 : 자바를 사용하여 사각형 그리기 및 채우기
이것은 직사각형에 직사각형과 채우기 색을 인쇄하는 예제입니다. https://i.stack.imgur.com/dlC5v.jpg
Graphics 클래스의 대부분의 메서드는 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 위치에서 지정된 높이 및 너비로 타원을 채 웁니다.