DataBufferDouble — double 데이터 버퍼

DataBufferDouble — double 데이터 버퍼 (java.awt.image)

내부적으로 데이터를 double 형태로 저장하는 DataBuffer 서브클래스예요. Java 1.4부터 도입됐어요.

출처: Java API Reference

본문

DataBufferDoublejava.awt.image.DataBuffer를 확장하는 final 클래스예요.

일부 구현은 이미지 데이터를 어떻게 저장하는지 제어할 수 있으면 더 효율적으로 동작할 수 있어요. 예를 들어 이미지를 비디오 메모리에 캐싱하는 최적화는 구현이 그 데이터에 대한 모든 수정을 추적해야 해요. 다양한 최적화와 최대 호환성을 유지하려면, 아래 문서에 명시된 대로 기본 저장소를 Java 배열로 노출하는 생성자와 메서드는 피하는 게 좋아요.

생성자

public DataBufferDouble(int size)

지정된 크기의 double 기반 DataBuffer를 구성해요.

public DataBufferDouble(int size, int numBanks)

지정된 수의 뱅크(모두 지정된 크기)를 가진 double 기반 DataBuffer를 구성해요.

public DataBufferDouble(double[] dataArray, int size)

지정된 데이터 배열로 double 기반 DataBuffer를 구성해요. 첫 size 요소만 이 DataBuffer가 사용할 수 있어요.

public DataBufferDouble(double[] dataArray, int size, int offset)

지정된 데이터 배열로 구성해요. offset부터 offset + size - 1 사이의 요소만 사용할 수 있어요. 배열은 offset + size 요소를 담을 만큼 커야 해요.

public DataBufferDouble(double[][] dataArray, int size)

지정된 데이터 배열들로 구성해요. 각 배열의 첫 size 요소만 사용할 수 있고, 뱅크 수는 dataArray.length와 같아요.

public DataBufferDouble(double[][] dataArray, int size, int[] offsets)

지정된 데이터 배열들, 크기, 뱅크별 오프셋들로 구성해요. 뱅크 수는 dataArray.length이고, 각 배열은 size + 대응 오프셋만큼 커야 해요.

배열 기반 생성자로 만든 DataBuffer는 일부 구현의 성능 최적화(예: 이미지를 비디오 메모리에 캐싱)와 호환되지 않을 수 있어요.

메서드 상세

getData() / getData(int bank) / getBankData()

public double[] getData()
public double[] getData(int bank)
public double[][] getBankData()

각각 기본(첫) double 데이터 배열, 지정된 뱅크의 데이터 배열, 모든 뱅크의 데이터 배열을 반환해요. 이 메서드를 호출하면 이 DataBuffer가 성능 최적화와 호환되지 않을 수 있어요.

getElem(int i) / getElem(int bank, int i) / setElem(...)

public int getElem(int i)
public int getElem(int bank, int i)
public void setElem(int i, int val)
public void setElem(int bank, int i, int val)

기본(첫) 뱅크(또는 지정된 뱅크)의 요청된 데이터 배열 요소를 int로 가져오거나 지정된 int로 설정해요.

getElemFloat / setElemFloat

public float getElemFloat(int i)
public float getElemFloat(int bank, int i)
public void setElemFloat(int i, float val)
public void setElemFloat(int bank, int i, float val)

기본(또는 지정된) 뱅크의 요소를 float로 가져오거나 설정해요.

getElemDouble / setElemDouble

public double getElemDouble(int i)
public double getElemDouble(int bank, int i)
public void setElemDouble(int i, double val)
public void setElemDouble(int bank, int i, double val)

기본(또는 지정된) 뱅크의 요소를 double로 가져오거나 설정해요.

더 알아보기