WritableRaster — 쓰기 가능 래스터 클래스

WritableRaster — 쓰기 가능 래스터 클래스 (java.awt.image)

픽셀 쓰기 기능을 제공하도록 Raster를 확장한 클래스예요.

출처: Java API Reference

본문

WritableRaster는 픽셀 쓰기 기능을 제공하도록 Raster를 확장해요. Raster가 픽셀을 저장하는 방법은 Raster 클래스 설명을 참조해요. 이 클래스의 생성자는 protected예요. WritableRaster를 인스턴스화하려면 Raster 클래스의 createWritableRaster 팩토리 메서드 중 하나를 사용해요.

생성자

protected WritableRaster(SampleModel sampleModel, Point origin)
protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin)
protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Rectangle aRegion, Point sampleModelTranslate, WritableRaster parent)

주어진 SampleModel·DataBuffer·부모로 WritableRaster를 구성해요. 세 번째 생성자는 다른 생성자·create 메서드가 호출해야 하며 직접 사용하면 안 돼요.

예외: RasterFormatException — 정수 오버플로우 발생 시

메서드

  • getWritableParent() — 이 WritableRaster의 부모(있으면) 또는 null 반환
  • createWritableTranslatedChild(int childMinX, int childMinY) — 같은 크기·SampleModel·DataBuffer를 가지지만 위치가 다른 WritableRaster 생성
  • createWritableChild(int parentX, int parentY, int w, int h, int childMinX, int childMinY, int[] bandList) — 이 WritableRaster의 DataBuffer 일부 또는 전부를 공유하는 새 WritableRaster 반환
  • setDataElements(int x, int y, Object inData) — 단일 픽셀 데이터를 TransferType 기본 배열로 설정
  • setDataElements(int x, int y, Raster inRaster) — 입력 Raster에서 픽셀 사각형 데이터 설정. 밴드 수·샘플 당 비트 수·TransferType·NumDataElements·패킹이 같아야 호환됨
  • setDataElements(int x, int y, int w, int h, Object inData) — 픽셀 사각형 데이터 설정
  • setRect(Raster srcRaster) — srcRaster에서 픽셀 복사. 각 픽셀은 같은 x,y 주소로, 범위 밖은 제외
  • setRect(int dx, int dy, Raster srcRaster) — (x+dx, y+dy) 주소로 복사
  • setPixel(int x, int y, int[]/float[]/double[] array) — int/float/double 배열로 픽셀 설정
  • setPixels(int x, int y, int w, int h, int[]/float[]/double[] array) — 픽셀 사각형의 모든 샘플 설정
  • setSample(int x, int y, int b, int/float/double s) — 밴드 샘플 설정
  • setSamples(int x, int y, int w, int h, int b, int[]/float[]/double[] array) — 사각형의 지정된 밴드 샘플 설정

예외: NullPointerException — 입력 배열·Raster null, ArrayIndexOutOfBoundsException — 좌표·밴드 인덱스 범위 밖 또는 배열이 너무 작을 때, ClassCastException — inData가 TransferType 배열이 아닐 때

더 알아보기