TexturePaint — 텍스처 채우기

TexturePaint — 텍스처 채우기

TexturePaint는 BufferedImage로 지정된 텍스처로 Shape를 채우는 방법을 제공해요.

출처: Java API Reference

본문

public class TexturePaint extends Object implements Paint

BufferedImage 객체의 크기는 작아야 해요. TexturePaint 객체가 BufferedImage 데이터를 복사하기 때문이에요. 생성 시 텍스처는 사용자 공간에 지정된 Rectangle2D의 왼쪽 위 모서리에 고정(anchor)돼요.

장치 공간의 텍스처는 사용자 공간에서 지정된 Rectangle2D를 무한히 반복하고 각 반복된 Rectangle2DBufferedImage를 매핑하는 방식으로 계산돼요.

생성자

  • TexturePaint(BufferedImage txtr, Rectangle2D anchor)TexturePaint 객체를 만들어요.

주요 메서드

  • getImage() — 도형을 채우는 데 사용되는 BufferedImage 텍스처를 반환해요.
  • getAnchorRect() — 텍스처를 위치시키고 크기를 조절하는 앵커 사각형의 복사본을 반환해요.
  • createContext(...) — 색 패턴을 생성하는 PaintContext를 반환해요.
BufferedImage img = new BufferedImage(8, 8, BufferedImage.TYPE_INT_ARGB);
// draw pattern into img ...
TexturePaint tp = new TexturePaint(img, new Rectangle2D.Double(0, 0, 8, 8));
g2.setPaint(tp);
g2.fill(rect);

타일처럼 반복되는 패턴을 도형에 채울 때 TexturePaint를 사용해요.

더 알아보기