GeneralPath 클래스
GeneralPath 클래스
GeneralPath 클래스는 직선과 2차·3차(베지어) 곡선으로 구성된 기하 경로를 나타내요. 여러 하위 경로를 포함할 수 있어요.
본문
GeneralPath는 슈퍼클래스 Path2D.Float의 동작을 정확히 구현하는 레거시 final 클래스예요. Path2D.Double과 함께 Path2D 클래스들은 Shape와 PathIterator 인터페이스의 모든 기능을 지원하면서 내부 좌표 정밀도를 명시적으로 선택할 수 있는 일반 기하 경로의 완전한 구현을 제공해요.
public final class GeneralPath
extends Path2D.Float
사용 선택
- 부동소수점 정밀도로 표현·사용할 수 있는 데이터를 다룰 때는
Path2D.Float(또는 이 레거시GeneralPath하위 클래스)을 사용해요. - double 정밀도의 정확성이나 범위가 필요한 데이터는
Path2D.Double을 사용해요.
좌표 추가 메서드
Path2D에서 상속받은 메서드로 경로를 구성해요.
moveTo(double, double)— 새 하위 경로의 시작점을 정해요.lineTo(double, double)— 직선 세그먼트를 추가해요.quadTo(double, double, double, double)— 2차 베지어 곡선을 추가해요.curveTo(...)— 3차 베지어 곡선을 추가해요.closePath()— 하위 경로를 닫아요.
사용 예
GeneralPath path = new GeneralPath();
path.moveTo(10, 10);
path.lineTo(100, 10);
path.curveTo(150, 50, 100, 100, 50, 100);
path.closePath();
Graphics2D g2d = ...;
g2d.draw(path);
복잡한 벡터 도형을 손쉽게 만들어 그리거나 채울 수 있어요.