DataBufferByte — 바이트 데이터 버퍼
DataBufferByte — 바이트 데이터 버퍼 (java.awt.image)
내부적으로 데이터를 byte로 저장하는 DataBuffer 서브클래스예요. 이 DataBuffer의 byte 배열에 저장된 값은 unsigned 값으로 취급돼요.
본문
DataBufferByte는 java.awt.image.DataBuffer를 확장하는 final 클래스예요.
일부 구현은 이미지 데이터를 어떻게 저장하는지 제어할 수 있으면 더 효율적으로 동작할 수 있어요. 예를 들어 이미지를 비디오 메모리에 캐싱하는 최적화는 구현이 그 데이터에 대한 모든 수정을 추적해야 해요. 다른 구현은 데이터를 Java 배열 이외의 위치에 저장하면 더 잘 동작할 수 있어요. 다양한 최적화와 최대 호환성을 유지하려면, 아래 메서드 문서에 명시된 대로 기본 저장소를 Java 배열로 노출하는 생성자와 메서드는 피하는 게 좋아요.
생성자
public DataBufferByte(int size)
단일 뱅크와 지정된 크기를 가진 byte 기반 DataBuffer를 구성해요.
public DataBufferByte(int size, int numBanks)
지정된 수의 뱅크(모두 지정된 크기)를 가진 byte 기반 DataBuffer를 구성해요.
public DataBufferByte(byte[] dataArray, int size)
지정된 배열을 사용하는 단일 뱅크의 byte 기반 DataBuffer를 구성해요. 이 DataBuffer의 접근자는 첫 size 요소만 사용해야 해요. dataArray는 size 요소를 담을 만큼 커야 해요. 이 생성자로 만든 DataBuffer는 일부 구현의 성능 최적화(예: 관련 이미지를 비디오 메모리에 캐싱)와 호환되지 않을 수 있어요.
public DataBufferByte(byte[] dataArray, int size, int offset)
지정된 배열, 크기, 오프셋을 사용하는 단일 뱅크의 byte 기반 DataBuffer를 구성해요. dataArray는 최소 offset + size 요소를 가져야 해요. 접근자는 offset부터 offset + size - 1 요소만 사용해야 해요.
public DataBufferByte(byte[][] dataArray, int size)
지정된 배열들을 사용하는 byte 기반 DataBuffer를 구성해요. 뱅크 수는 dataArray.length와 같아요.
public DataBufferByte(byte[][] dataArray, int size, int[] offsets)
지정된 배열들, 크기, 오프셋들을 사용하는 byte 기반 DataBuffer를 구성해요. 뱅크 수는 dataArray.length이고, 각 배열은 size + 대응 오프셋만큼 커야 해요. 각 뱅크의 접근자는 offset부터 offset + size - 1 요소만 사용해야 해요.
메서드 상세
getData() / getData(int bank) / getBankData()
public byte[] getData()
public byte[] getData(int bank)
public byte[][] getBankData()
각각 기본(첫) byte 데이터 배열, 지정된 뱅크의 데이터 배열, 모든 뱅크의 데이터 배열을 반환해요. 이 메서드를 호출하면 이 DataBuffer 객체가 일부 구현의 성능 최적화(예: 이미지를 비디오 메모리에 캐싱)와 호환되지 않을 수 있어요.
getElem(int i) / getElem(int bank, int i)
public int getElem(int i)
public int getElem(int bank, int i)
기본(첫) 뱅크(또는 지정된 뱅크)의 요청된 데이터 배열 요소를 정수로 반환해요.
setElem(int i, int val) / setElem(int bank, int i, int val)
public void setElem(int i, int val)
public void setElem(int bank, int i, int val)
기본(첫) 뱅크(또는 지정된 뱅크)의 요청된 데이터 배열 요소를 지정된 정수 값으로 설정해요.