WritableRenderedImage — 쓰기 가능 렌더 이미지 인터페이스

WritableRenderedImage — 쓰기 가능 렌더 이미지 인터페이스 (java.awt.image)

Raster 형태의 이미지 데이터를 포함하거나 생산할 수 있고, 수정·덮어쓰기가 가능한 객체들의 공통 인터페이스예요.

출처: Java API Reference

본문

WritableRenderedImageRenderedImage를 확장하는 인터페이스예요. 이미지 데이터는 단일 타일 또는 타일의 규칙적인 배열로 저장·생산될 수 있어요. 이 인터페이스의 알려진 구현 클래스는 BufferedImage가 있어요.

WritableRenderedImage는 타일이 쓰기용으로 체크아웃될 때(getWritableTile)와 특정 타일의 마지막 작성자가 접근을 포기할 때(releaseWritableTile) 다른 관심 객체에 알림을 제공해요. 또한 호출자가 현재 체크아웃된 타일이 있는지(hasTileWriters), 그러한 타일 목록(getWritableTileIndices, Point 객체 Vector 형태)을 알 수 있게 해요.

타일 쓰기 가능성 변경을 통지받기 원하는 객체는 TileObserver 인터페이스를 구현하고 addTileObserver 호출로 추가돼요. 같은 객체에 대해 addTileObserver를 여러 번 호출하면 여러 알림이 발생해요. 기존 옵서버는 removeTileObserver로 알림을 줄일 수 있어요.

WritableRenderedImage는 첫 작성자가 타일을 획득할 때와 마지막 작성자가 해제할 때만 알림이 발생하도록 보장해야 해요.

메서드

  • addTileObserver(TileObserver to) — 옵서버 추가. 이미 있으면 여러 알림을 받게 됨
  • removeTileObserver(TileObserver to) — 옵서버 제거. 등록되지 않았으면 아무 일도 없음
  • getWritableTile(int tileX, int tileY) — 쓰기용 타일 체크아웃. 탈 작성자가 없던 타일이 작성자 하나가 될 때 모든 TileObserver에 알림
  • releaseWritableTile(int tileX, int tileY) — 타일 쓰기 권리 포기. 호출자는 이후 쓰면 결과가 정의되지 않음. getWritableTile과 짝을 이루어야 해요. 작성자가 하나에서 없어질 때 모든 TileObserver에 알림
  • isTileWritable(int tileX, int tileY) — 타일이 현재 쓰기용 체크아웃됐는지 반환
  • getWritableTileIndices() — 쓰기용 체크아웃된 타일을 나타내는 Point 객체 배열 반환. 없으면 null
  • hasTileWriters() — 어떤 타일이 쓰기용 체크아웃됐는지 반환. getWritableTileIndices() != null과 의미적으로 동등
  • setData(Raster r) — 이미지의 사각 영역을 같은 좌표 공간이라고 가정하는 Raster r의 내용으로 설정. 연산은 WritableRenderedImage 범위로 클리핑

더 알아보기