BasicStroke — 그래픽 원시도의 윤곽 렌더링 속성

BasicStroke — 그래픽 원시도의 윤곽 렌더링 속성

BasicStroke 클래스는 그래픽 원시도(primitive)의 윤곽을 위한 기본 렌더링 속성 집합을 정의해요. 이 윤곽은 Stroke 속성이 이 BasicStroke로 설정된 Graphics2D 객체로 렌더링돼요.

출처: Java API Reference

본문

public class BasicStroke extends Object implements Stroke

이 클래스가 정의하는 렌더링 속성은 Shape의 윤곽을 따라 펜으로 그린 표시의 모양과, Shape의 패스 세그먼트 끝과 연결부에 적용되는 장식을 설명해요.

여기에는 다음이 포함돼요. 펜 폭(width)은 펜 궤적에 수직으로 측정돼요. 끝 캡(end caps)은 닫히지 않은 서브패스와 대시 세그먼트 끝에 적용되는 장식으로 CAP_BUTT, CAP_ROUND, CAP_SQUARE가 있어요.

선 연결(line joins)은 두 패스 세그먼트의 교차점에 적용되는 장식으로 JOIN_BEVEL, JOIN_MITER, JOIN_ROUND가 있어요. 마이터 한도(miter limit)는 JOIN_MITER 장식을 가진 선 연결을 잘라낼 한도를 정해요.

대시 속성은 불투명과 투명 구간을 번갈아 대시 패턴을 만드는 방법을 정의해요. 윤곽 형태를 제어하는 모든 측정값과 거리는 원래 스트로크되지 않은 Shape 인자와 같은 좌표계로 측정돼요.

Graphics2D 객체가 draw 메서드 실행 중 Stroke 객체로 패스를 다시 정의할 때, 도형은 Graphics2D의 변환 속성이 적용되기 전의 원래 형태로 제공돼요. 따라서 펜 폭 같은 속성은 Graphics2D의 사용자 공간 좌표계에서 해석돼요.

예를 들어 g2d.scale(10,10)g2d.setStroke(new BasicStroke(1.5f))를 하면 결과 선은 약 15픽셀 너비가 돼요. Graphics2D 클래스 주석도 함께 참고하면 좋아요.

더 알아보기