ByteLookupTable — 바이트 룩업 테이블
ByteLookupTable — 바이트 룩업 테이블 (java.awt.image)
룩업 테이블(lookup table) 객체를 정의하는 클래스예요. 이 클래스의 객체를 사용하는 룩업 연산의 출력은 unsigned byte 양으로 해석돼요.
본문
ByteLookupTable은 java.awt.image.LookupTable을 확장해요.
룩업 테이블은 이미지의 한 개 이상의 밴드(또는 컴포넌트)를 위한 byte 데이터 배열을 포함하고, 배열을 인덱싱하기 전에 입력 값에서 뺄 오프셋(offset)을 포함해요. 이를 통해 제한된 입력에 대해 네이티브 데이터 크기보다 작은 배열을 제공할 수 있어요. 룩업 테이블에 배열이 하나만 있으면 모든 밴드에 적용돼요.
생성자
public ByteLookupTable(int offset, byte[][] data)
각 밴드의 룩업 테이블을 나타내는 byte 배열들의 배열로 ByteLookupTable 객체를 구성해요. 입력 값을 배열로 인덱싱하기 전에 오프셋을 뺀다. 밴드 수는 data 인자의 길이예요. 각 밴드의 데이터 배열은 참조로 저장돼요.
예외: IllegalArgumentException — offset이 0보다 작거나 data의 길이가 1보다 작을 때
public ByteLookupTable(int offset, byte[] data)
모든 밴드에 적용될 룩업 테이블을 나타내는 byte 배열로 구성해요. 입력 값을 배열로 인덱싱하기 전에 오프셋을 뺀다. 데이터 배열은 참조로 저장돼요.
예외: IllegalArgumentException — offset이 0보다 작거나 data 길이가 1보다 작을 때
메서드 상세
getTable()
public final byte[][] getTable()
룩업 테이블 데이터를 참조로 반환해요. 단일 byte 배열로 구성됐다면 반환 배열의 길이는 1이에요.
lookupPixel(int[] src, int[] dst)
public int[] lookupPixel(int[] src, int[] dst)
룩업 테이블로 변환된 한 픽셀의 샘플 배열을 반환해요. 소스와 목적지 배열은 같은 배열일 수 있고, 목적지 배열 dst가 반환돼요. dst는 src보다 길이가 작아선 안 되며, null이면 src와 같은 길이의 새 배열이 할당돼요.
예외: ArrayIndexOutOfBoundsException — src가 dst보다 길거나, src의 어떤 요소 i에 대해 src[i]-offset이 0보다 작거나 어떤 밴드의 룩업 테이블 길이 이상일 때
lookupPixel(byte[] src, byte[] dst)
public byte[] lookupPixel(byte[] src, byte[] dst)
룩업 테이블로 변환된 한 픽셀의 샘플 배열을 반환해요. 소스와 목적지 배열은 같을 수 있고, 목적지 배열 dst가 반환돼요.
예외: ArrayIndexOutOfBoundsException — src가 dst보다 길거나, src의 어떤 요소 i에 대해 (src[i]&0xff)-offset이 0보다 작거나 어떤 밴드의 룩업 테이블 길이 이상일 때