JavaTM Platform
Standard Ed. 6

java.awt.image
클래스 ComponentSampleModel

java.lang.Object 
  상위를 확장 java.awt.image.SampleModel 
      상위를 확장 java.awt.image.ComponentSampleModel
직계의 기존의 서브 클래스:
BandedSampleModel , PixelInterleavedSampleModel


public class ComponentSampleModel
extends SampleModel

이 클래스는, DataBuffer 의 데이터 요소 1 개(살)에 1 개씩 픽셀을 형성하는 각 샘플이 포함되고 있는 이미지 데이터를 나타냅니다. DataBuffer 는, 1 픽셀을 형성하는 N 개의 샘플을, N 개의 별개의 데이터 배열 요소에 포함합니다. 다른 밴드가, 각각 DataBuffer 의 다른 뱅크에 포함되는 경우가 있습니다. 이미지 데이터를 직접 처리할 수 있도록(듯이), 액세스용 메소드가 제공되고 있습니다. 이 클래스는, 각종의 인타리브 (반드인타리브, 주사선 인타리브, 및 피크세르인타리브등)를 지원 가능합니다. 픽셀 보폭은, 같은 주사선상의 같은 밴드에 있는 2 개의 샘플의 사이에 있는 데이터 배열 요소수입니다. 주사선 보폭은, 지정된 샘플과 다음의 주사선의 같은 열의 대응하는 샘플과의 사이의 데이터 배열 요소의 수입니다. 밴드 오프셋(offset)는, 각 밴드가 포함되고 있는 DataBuffer 의 뱅크에 있는 최초의 데이터 배열 요소로부터 그 밴드의 최초의 샘플까지의 데이터 배열 요소수를 나타냅니다. 밴드에는 0 으로부터 N-1 까지의 번호를 붙일 수 있고 있습니다. 이 클래스는, 8 비트, 16 비트, 또는 32 비트 (각각,DataBuffer.TYPE_BYTE,DataBuffer.TYPE_USHORT, 또는 DataBuffer.TYPE_INT 를 사용)로 포함할 수 있는 부호 없음 정수치를 각 샘플에 가지는 이미지 데이터, 16 비트 (DataBuffer.TYPE_SHORT 를 사용)로 포함할 수 있는 부호 첨부 정수치를 각 샘플에 가지는 데이터, 또는 부호 첨부 float 형 또는 double 형의 수치 (각각 DataBuffer.TYPE_FLOAT 또는 DataBuffer.TYPE_DOUBLE 를 사용)를 각 샘플에 가지는 데이터를 나타낼 수가 있습니다. 이 때, 지정된 ComponentSampleModel 의 모든 샘플도, 같은 정밀도로 포함됩니다. 모든 보폭, 및 오프셋(offset)는, 부가 아닌 수치로 할 필요가 있습니다. 이 클래스는,TYPE_BYTE ,TYPE_USHORT ,TYPE_SHORT ,TYPE_INT ,TYPE_FLOAT , 및 TYPE_DOUBLE 를 지원합니다.

관련 항목:
PixelInterleavedSampleModel , BandedSampleModel

필드의 개요
protected  int[] bandOffsets
          데이터 배열 요소에 있는 모든 밴드의 오프셋(offset)입니다.
protected  int[] bankIndices
          이미지 데이터의 밴드를 포함하는 각 뱅크의 인덱스입니다.
protected  int numBands
          이 ComponentSampleModel 내의 밴드수입니다.
protected  int numBanks
          이 ComponentSampleModel 내의 뱅크수입니다.
protected  int pixelStride
          이 ComponentSampleModel 로 기술되는 이미지 데이터 영역 (데이터 배열 요소)의 픽셀 보폭입니다.
protected  int scanlineStride
          이 ComponentSampleModel 로 기술되는 이미지 데이터 영역 (데이터 배열 요소)의 주사선 보폭입니다.
 
클래스 java.awt.image. SampleModel 로부터 상속된 필드
dataType , height , width
 
생성자 의 개요
ComponentSampleModel (int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bandOffsets)
          지정된 파라미터로, ComponentSampleModel 를 구축합니다.
ComponentSampleModel (int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bankIndices, int[] bandOffsets)
          지정된 파라미터로, ComponentSampleModel 를 구축합니다.
 
메소드의 개요
 SampleModel createCompatibleSampleModel (int w, int h)
          지정된 폭 및 높이로, 새로운 ComponentSampleModel 를 구축합니다.
 DataBuffer createDataBuffer ()
          이 ComponentSampleModel 와 대응하는 DataBuffer 를 작성합니다.
 SampleModel createSubsetSampleModel (int[] bands)
          이 ComponentSampleModel 의 부분집합을 가지는, 새로운 ComponentSampleModel 를 구축합니다.
 boolean equals (Object  o)
          이 객체와 「등가」가 되는 객체가 있을지 어떨지를 나타냅니다.
 int[] getBandOffsets ()
          모든 밴드에 대해, 밴드의 오프셋(offset)를 돌려줍니다.
 int[] getBankIndices ()
          모든 뱅크에 대해, 뱅크의 인덱스를 돌려줍니다.
 Object getDataElements (int x, int y, Object  obj, DataBuffer  data)
          1 픽셀의 데이터를 TransferType 형의 프리미티브(primitive) 배열로서 돌려줍니다.
 int getNumDataElements ()
          getDataElements 메소드와 setDataElements 메소드에 의해 1 픽셀을 전송 하기 위해서 필요한 데이터 요소의 수를 돌려주는ComponentSampleModel 에서는, 이것은 밴드수로 동일해집니다.
 int getOffset (int x, int y)
          픽셀 (x, y)의 최초의 밴드의 오프셋(offset)를 돌려줍니다.
 int getOffset (int x, int y, int b)
          픽셀 (x, y)의 밴드 b 의 오프셋(offset)를 돌려줍니다.
 int[] getPixel (int x, int y, int[] iArray, DataBuffer  data)
          지정된 픽셀의 모든 샘플을 int 배열로서 돌려줍니다.
 int[] getPixels (int x, int y, int w, int h, int[] iArray, DataBuffer  data)
          int 배열의 지정된 픽셀의 구형의 모든 샘플을 돌려줍니다.
 int getPixelStride ()
          이 ComponentSampleModel 의 픽셀 보폭을 돌려줍니다.
 int getSample (int x, int y, int b, DataBuffer  data)
          (x, y)에 위치하는 픽셀의, 지정된 밴드내의 샘플을 int 로서 돌려줍니다.
 double getSampleDouble (int x, int y, int b, DataBuffer  data)
          (x, y)에 위치하는 픽셀의 지정된 밴드내의 샘플을 double 로서 돌려줍니다.
 float getSampleFloat (int x, int y, int b, DataBuffer  data)
          (x, y)에 위치하는 픽셀의 지정된 밴드내의 샘플을 float 로서 돌려줍니다.
 int[] getSamples (int x, int y, int w, int h, int b, int[] iArray, DataBuffer  data)
          지정된 픽셀 구형에 사용하는, 지정된 밴드내의 샘플을 int 배열로서 돌려줍니다.
 int[] getSampleSize ()
          모든 밴드의 샘플 근처의 비트수를 돌려줍니다.
 int getSampleSize (int band)
          지정된 밴드의 샘플 근처의 비트수를 돌려줍니다.
 int getScanlineStride ()
          이 ComponentSampleModel 의 주사선 보폭을 돌려줍니다.
 int hashCode ()
          객체의 해시 코드값를 돌려줍니다.
 void setDataElements (int x, int y, Object  obj, DataBuffer  data)
          지정된 DataBuffer 에 있는 단일 픽셀의 데이터를,TransferType 형의 프리미티브(primitive) 배열로부터 설정합니다.
 void setPixel (int x, int y, int[] iArray, DataBuffer  data)
          샘플의 int 배열을 입력으로서 사용해 DataBuffer 내의 픽셀을 설정합니다.
 void setPixels (int x, int y, int w, int h, int[] iArray, DataBuffer  data)
          구형의 픽셀의 샘플 모든 것을, 배열 요소 마다 1 개의 샘플이 포함되고 있는 int 배열로부터 설정합니다.
 void setSample (int x, int y, int b, double s, DataBuffer  data)
          double 를 입력으로서 사용해 DataBuffer 내의 것 (x, y)에 위치하는 픽셀의, 지정된 밴드내의 샘플을 설정합니다.
 void setSample (int x, int y, int b, float s, DataBuffer  data)
          float 를 입력으로서 사용해 DataBuffer 내의 것 (x, y)에 위치하는 픽셀의, 지정된 밴드내의 샘플을 설정합니다.
 void setSample (int x, int y, int b, int s, DataBuffer  data)
          int 를 입력으로서 사용해 DataBuffer 내의 것 (x, y)에 위치하는 픽셀의, 지정된 밴드내의 샘플을 설정합니다.
 void setSamples (int x, int y, int w, int h, int b, int[] iArray, DataBuffer  data)
          데이터 배열 요소 근처 1 개의 샘플을 포함하고 있는 int 배열로부터, 지정된 픽셀 구형의, 지정된 밴드에 샘플을 설정합니다.
 
클래스 java.awt.image. SampleModel 로부터 상속된 메소드
getDataElements , getDataType , getHeight , getNumBands , getPixel , getPixel , getPixels , getPixels , getSamples , getSamples , getTransferType , getWidth , setDataElements , setPixel , setPixel , setPixels , setPixels , setSamples , setSamples
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , finalize , getClass , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

bandOffsets

protected int[] bandOffsets
데이터 배열 요소에 있는 모든 밴드의 오프셋(offset)입니다.


bankIndices

protected int[] bankIndices
이미지 데이터의 밴드를 포함하는 각 뱅크의 인덱스입니다.


numBands

protected int numBands
ComponentSampleModel 내의 밴드수입니다.


numBanks

protected int numBanks
ComponentSampleModel 내의 뱅크수입니다.


scanlineStride

protected int scanlineStride
이 ComponentSampleModel 로 기술되는 이미지 데이터 영역 (데이터 배열 요소)의 주사선 보폭입니다.


pixelStride

protected int pixelStride
이 ComponentSampleModel 로 기술되는 이미지 데이터 영역 (데이터 배열 요소)의 픽셀 보폭입니다.

생성자 의 상세

ComponentSampleModel

public ComponentSampleModel(int dataType,
                            int w,
                            int h,
                            int pixelStride,
                            int scanlineStride,
                            int[] bandOffsets)
지정된 파라미터로, ComponentSampleModel 를 구축합니다. 밴드수는, bandOffsets 배열의 길이에 의해 지정됩니다. 모든 밴드는, DataBuffer 의 최초의 뱅크에 포함됩니다.

파라미터:
dataType - 샘플 포함용의 데이터 형식
w - 기술되는 이미지 데이터의 영역의 폭 (픽셀 단위)
h - 기술되는 이미지 데이터의 영역의 높이 (픽셀 단위)
pixelStride - 기술되는 이미지 데이터의 영역의 픽셀 보폭
scanlineStride - 기술되는 이미지 데이터의 영역의 주사선 보폭
bandOffsets - 모든 밴드의 오프셋(offset)
예외:
IllegalArgumentException - w 또는 h 가 0 이하인 경우
IllegalArgumentException - pixelStride 가 0 보다 작은 경우
IllegalArgumentException - scanlineStride 가 0 보다 작은 경우
IllegalArgumentException - numBands 가 1 보다 작은 경우
IllegalArgumentException - wh 의 적이 Integer.MAX_VALUE 보다 큰 경우
IllegalArgumentException - dataType 가 지원되고 있다 데이터형이 아닌 경우

ComponentSampleModel

public ComponentSampleModel(int dataType,
                            int w,
                            int h,
                            int pixelStride,
                            int scanlineStride,
                            int[] bankIndices,
                            int[] bandOffsets)
지정된 파라미터로, ComponentSampleModel 를 구축합니다. 밴드수는, bandOffsets 배열의 길이에 의해 지정됩니다. 다른 밴드는, DataBuffer 의 다른 뱅크에 포함됩니다.

파라미터:
dataType - 샘플 포함용의 데이터 형식
w - 기술되는 이미지 데이터의 영역의 폭 (픽셀 단위)
h - 기술되는 이미지 데이터의 영역의 높이 (픽셀 단위)
pixelStride - 기술되는 이미지 데이터의 영역의 픽셀 보폭
scanlineStride - 기술되는 이미지 데이터의 영역의 주사선 보폭
bankIndices - 모든 밴드의 뱅크 인덱스
bandOffsets - 모든 밴드의 밴드 오프셋(offset)
예외:
IllegalArgumentException - w 또는 h 가 0 이하인 경우
IllegalArgumentException - pixelStride 가 0 보다 작은 경우
IllegalArgumentException - scanlineStride 가 0 보다 작은 경우
IllegalArgumentException - bankIndices 의 길이가 bankOffsets 의 길이와 동일하지 않은 경우
IllegalArgumentException - bandIndices 의 뱅크 인덱스의 어느쪽이든가 0 보다 작은 경우
IllegalArgumentException - dataType 가 지원되고 있다 데이터형이 아닌 경우
메소드의 상세

createCompatibleSampleModel

public SampleModel  createCompatibleSampleModel(int w,
                                               int h)
지정된 폭 및 높이로, 새로운 ComponentSampleModel 를 구축합니다. 새로운 SampleModel 은, 이 SampleModel 와 같은 수의 밴드, 스토리지 데이터형, 인타리브화 방식, 및 픽셀 보폭을 가집니다.

정의:
클래스 SampleModel 내의 createCompatibleSampleModel
파라미터:
w - 결과적으로 반환된 SampleModel 의 폭
h - 결과적으로 반환된 SampleModel 의 높이
반환값:
지정된 사이즈를 가지는 새로운 ComponentSampleModel
예외:
IllegalArgumentException - w 또는 h 가 0 이하인 경우

createSubsetSampleModel

public SampleModel  createSubsetSampleModel(int[] bands)
이 ComponentSampleModel 의 부분집합을 가지는, 새로운 ComponentSampleModel 를 구축합니다. 새로운 ComponentSampleModel 은, 기존의 ComponentSampleModel 를 사용할 수 있는 임의의 DataBuffer 와 조합해 사용할 수 있습니다. 새로운 ComponentSampleModel 과 DataBuffer 의 편성은, 원의 ComponentSampleModel 와 DataBuffer 의 편성에 있는 밴드의 부분집합을 가지는 이미지를 나타냅니다.

정의:
클래스 SampleModel 내의 createSubsetSampleModel
파라미터:
bands - 이 ComponentSampleModel 의 밴드의 부분집합
반환값:
ComponentSampleModel 의 밴드의 부분집합으로 작성된 ComponentSampleModel

createDataBuffer

public DataBuffer  createDataBuffer()
ComponentSampleModel 와 대응하는 DataBuffer 를 작성합니다. DataBuffer 의 데이터형, 뱅크수, 및 사이즈는, 이 ComponentSampleModel 와 모순되지 않습니다.

정의:
클래스 SampleModel 내의 createDataBuffer
반환값:
ComponentSampleModel 와 데이터형, 뱅크수, 및 사이즈가 같다 DataBuffer

getOffset

public int getOffset(int x,
                     int y)
픽셀 (x, y)의 최초의 밴드의 오프셋(offset)를 돌려줍니다. 최초의 밴드의 샘플은,DataBuffer data 로부터,ComponentSampleModel csm 를 사용해 다음과 같이 해 취득할 수 있습니다.
        data.getElem(csm.getOffset(x, y));
 

파라미터:
x - 픽셀의 X 위치
y - 픽셀의 Y 위치
반환값:
지정된 픽셀의 최초의 밴드의 오프셋(offset)

getOffset

public int getOffset(int x,
                     int y,
                     int b)
픽셀 (x, y)의 밴드 b 의 오프셋(offset)를 돌려줍니다. 밴드 b 의 샘플은,DataBuffer data 로부터,ComponentSampleModel csm 를 사용해 다음과 같이 해 취득할 수 있습니다.
       data.getElem(csm.getOffset(x, y, b));
 

파라미터:
x - 지정된 픽셀의 X 위치
y - 지정된 픽셀의 Y 위치
b - 지정된 밴드
반환값:
지정된 픽셀의 지정된 밴드의 오프셋(offset)

getSampleSize

public final int[] getSampleSize()
모든 밴드의 샘플 근처의 비트수를 돌려줍니다.

정의:
클래스 SampleModel 내의 getSampleSize
반환값:
배열내의 각 요소가 밴드를 나타내는, 모든 밴드의 샘플 근처의 비트수를 포함한다 배열

getSampleSize

public final int getSampleSize(int band)
지정된 밴드의 샘플 근처의 비트수를 돌려줍니다.

정의:
클래스 SampleModel 내의 getSampleSize
파라미터:
band - 지정된 밴드
반환값:
지정된 밴드의 샘플 근처의 비트수

getBankIndices

public final int[] getBankIndices()
모든 뱅크에 대해, 뱅크의 인덱스를 돌려줍니다.

반환값:
모든 뱅크의 뱅크 인덱스

getBandOffsets

public final int[] getBandOffsets()
모든 밴드에 대해, 밴드의 오프셋(offset)를 돌려줍니다.

반환값:
모든 밴드의 밴드 오프셋(offset)

getScanlineStride

public final int getScanlineStride()
이 ComponentSampleModel 의 주사선 보폭을 돌려줍니다.

반환값:
ComponentSampleModel 의 주사선 보폭

getPixelStride

public final int getPixelStride()
이 ComponentSampleModel 의 픽셀 보폭을 돌려줍니다.

반환값:
ComponentSampleModel 의 픽셀 보폭

getNumDataElements

public final int getNumDataElements()
getDataElements 메소드와 setDataElements 메소드에 의해 1 픽셀을 전송 하기 위해서 필요한 데이터 요소의 수를 돌려주는ComponentSampleModel 에서는, 이것은 밴드수로 동일해집니다.

정의:
클래스 SampleModel 내의 getNumDataElements
반환값:
getDataElements 메소드와 setDataElements 메소드로 1 픽셀을 전송 하기 위해서 필요한 데이터 요소의 수
관련 항목:
SampleModel.getNumDataElements() , SampleModel.getNumBands()

getDataElements

public Object  getDataElements(int x,
                              int y,
                              Object  obj,
                              DataBuffer  data)
1 픽셀의 데이터를 TransferType 형의 프리미티브(primitive) 배열로서 돌려줍니다. ComponentSampleModel 에서는, 이것은 데이터형과 동일해져, 샘플이 배열 요소 마다 1 개씩 돌려주어집니다. 일반적으로은,Object 가 자동적으로 작성되어 올바른 기본 데이터형이 되도록(듯이),obj 에는 null 가 건네받습니다.  

다음의 코드는, 스토리지 레이아웃이 ComponentSampleModel csm1 에 의해 기술되고 있는 DataBuffer db1 로부터, 스토리지 레이아웃이 ComponentSampleModel csm2 에 의해 기술되고 있는 DataBuffer db2 에, 1 픽셀의 데이터를 전송 하는 예를 나타냅니다. 이 전송 방법은,getPixelsetPixel 를 사용하는 방법보다 일반적으로 효율적입니다.

             ComponentSampleModel csm1, csm2;
             DataBufferInt db1, db2;
             csm2.setDataElements(x, y,
                            csm1.getDataElements(x, y, null, db1), db2);
 
2 개의 SampleModel 객체의 밴드수가 같아, 대응하는 밴드의 1 샘플 근처의 비트수가 같아,TransferType 도 같은 경우는, 2 조의 DataBufferSampleModel 의 페어의 사이에 전송을 실시하려면 ,getDataElementssetDataElements 를 사용하는 것이 적절합니다.  

objnull 가 아닌 경우는,TransferType 형의 프리미티브(primitive) 배열이 됩니다. 그렇지 않은 경우는,ClassCastException 가 throw 됩니다. 좌표가 경계내에 없는 경우나,objnull 가 아니고, 픽셀 데이터를 포함하기 위해서 충분한 크기가 아닌 경우는,ArrayIndexOutOfBoundsException 가 throw 됩니다.

정의:
클래스 SampleModel 내의 getDataElements
파라미터:
x - 픽셀 위치의 X 좌표
y - 픽셀 위치의 Y 좌표
obj - null 가 아닌 경우는, 픽셀 데이터가 반환되는 프리미티브(primitive) 배열
data - 이미지 데이터를 포함하는 DataBuffer
반환값:
지정된 픽셀의 데이터
예외:
NullPointerException - 데이터가 null 의 경우
ArrayIndexOutOfBoundsException - 좌표가 경계내에 없는 경우, 또는 obj 가 출력을 보관 유지하기에는 너무 작은 경우
관련 항목:
setDataElements(int, int, Object, DataBuffer)

getPixel

public int[] getPixel(int x,
                      int y,
                      int[] iArray,
                      DataBuffer  data)
지정된 픽셀의 모든 샘플을 int 배열로서 돌려줍니다. 배열 요소에 샘플 1 개가 대응합니다. 좌표가 경계내에 없는 경우는,ArrayIndexOutOfBoundsException 가 throw 되는 일이 있습니다.

오버라이드(override):
클래스 SampleModel 내의 getPixel
파라미터:
x - 픽셀 위치의 X 좌표
y - 픽셀 위치의 Y 좌표
iArray - null 가 아닌 경우, 이 배열내의 샘플을 돌려주는
data - 이미지 데이터를 포함하는 DataBuffer
반환값:
지정된 픽셀의 샘플
예외:
NullPointerException - 데이터가 null 의 경우
ArrayIndexOutOfBoundsException - 좌표가 경계내에 없는 경우, 또는 iArray 가 출력을 보관 유지하기에는 너무 작은 경우
관련 항목:
setPixel(int, int, int[], DataBuffer)

getPixels

public int[] getPixels(int x,
                       int y,
                       int w,
                       int h,
                       int[] iArray,
                       DataBuffer  data)
int 배열의 지정된 픽셀의 구형의 모든 샘플을 돌려줍니다. 배열 요소 마다 1 개의 샘플이 돌려주어집니다. 좌표가 경계내에 없는 경우는,ArrayIndexOutOfBoundsException 가 throw 되는 일이 있습니다.

오버라이드(override):
클래스 SampleModel 내의 getPixels
파라미터:
x - 좌상의 픽셀 위치의 X 좌표
y - 좌상의 픽셀 위치의 Y 좌표
w - 픽셀 구형의 폭
h - 픽셀 구형의 높이
iArray - null 가 아닌 경우, 이 배열내의 샘플을 돌려주는
data - 이미지 데이터를 포함하는 DataBuffer
반환값:
지정된 영역내의 픽셀의 샘플
관련 항목:
setPixels(int, int, int, int, int[], DataBuffer)

getSample

public int getSample(int x,
                     int y,
                     int b,
                     DataBuffer  data)
(x, y)에 위치하는 픽셀의, 지정된 밴드내의 샘플을 int 로서 돌려줍니다. 좌표가 경계내에 없는 경우는,ArrayIndexOutOfBoundsException 가 throw 되는 일이 있습니다.

정의:
클래스 SampleModel 내의 getSample
파라미터:
x - 픽셀 위치의 X 좌표
y - 픽셀 위치의 Y 좌표
b - 반환되는 밴드
data - 이미지 데이터를 포함하는 DataBuffer
반환값:
지정된 픽셀의 지정된 밴드내의 샘플
관련 항목:
setSample(int, int, int, int, DataBuffer)

getSampleFloat

public float getSampleFloat(int x,
                            int y,
                            int b,
                            DataBuffer  data)
(x, y)에 위치하는 픽셀의 지정된 밴드내의 샘플을 float 로서 돌려줍니다. 좌표가 경계내에 없는 경우는,ArrayIndexOutOfBoundsException 가 throw 되는 일이 있습니다.

오버라이드(override):
클래스 SampleModel 내의 getSampleFloat
파라미터:
x - 픽셀 위치의 X 좌표
y - 픽셀 위치의 Y 좌표
b - 반환되는 밴드
data - 이미지 데이터를 포함하는 DataBuffer
반환값:
지정된 픽셀의 지정된 밴드내의 샘플을 나타내는 float 치

getSampleDouble

public double getSampleDouble(int x,
                              int y,
                              int b,
                              DataBuffer  data)
(x, y)에 위치하는 픽셀의 지정된 밴드내의 샘플을 double 로서 돌려줍니다. 좌표가 경계내에 없는 경우는,ArrayIndexOutOfBoundsException 가 throw 되는 일이 있습니다.

오버라이드(override):
클래스 SampleModel 내의 getSampleDouble
파라미터:
x - 픽셀 위치의 X 좌표
y - 픽셀 위치의 Y 좌표
b - 반환되는 밴드
data - 이미지 데이터를 포함하는 DataBuffer
반환값:
지정된 픽셀의 지정된 밴드내의 샘플을 나타내는 double 치

getSamples

public int[] getSamples(int x,
                        int y,
                        int w,
                        int h,
                        int b,
                        int[] iArray,
                        DataBuffer  data)
지정된 픽셀 구형에 사용하는, 지정된 밴드내의 샘플을 int 배열로서 돌려줍니다. 데이터 배열 요소에 샘플 1 개가 대응합니다. 좌표가 경계내에 없는 경우는,ArrayIndexOutOfBoundsException 가 throw 되는 일이 있습니다.

오버라이드(override):
클래스 SampleModel 내의 getSamples
파라미터:
x - 좌상의 픽셀 위치의 X 좌표
y - 좌상의 픽셀 위치의 Y 좌표
w - 픽셀 구형의 폭
h - 픽셀 구형의 높이
b - 반환되는 밴드
iArray - null 가 아닌 경우, 이 배열내의 샘플을 돌려주는
data - 이미지 데이터를 포함하는 DataBuffer
반환값:
지정된 픽셀의 지정된 밴드내의 샘플
관련 항목:
setSamples(int, int, int, int, int, int[], DataBuffer)

setDataElements

public void setDataElements(int x,
                            int y,
                            Object  obj,
                            DataBuffer  data)
지정된 DataBuffer 에 있는 단일 픽셀의 데이터를,TransferType 형의 프리미티브(primitive) 배열로부터 설정합니다. ComponentSampleModel 에서는, 이것은 데이터형과 같게 되어, 샘플은 각 배열 요소에 1 개씩 전송 됩니다.  

다음의 코드는, 스토리지 레이아웃이 ComponentSampleModel csm1 에 의해 기술되고 있는 DataBuffer db1 로부터, 스토리지 레이아웃이 ComponentSampleModel csm2 에 의해 기술되고 있는 DataBuffer db2 에, 1 픽셀의 데이터를 전송 하는 예를 나타냅니다. 이 전송 방법은,getPixelsetPixel 를 사용하는 방법보다 일반적으로 효율적입니다.

             ComponentSampleModel csm1, csm2;
             DataBufferInt db1, db2;
             csm2.setDataElements(x, y, csm1.getDataElements(x, y, null, db1),
                            db2);
 
2 개의 SampleModel 객체의 밴드수가 같아, 대응하는 밴드의 1 샘플 근처의 비트수가 같아,TransferType 도 같은 경우는, 2 조의 DataBufferSampleModel 의 페어의 사이에 전송을 실시하려면 ,getDataElementssetDataElements 를 사용하는 것이 적절합니다.  

objtransferType 형의 프리미티브(primitive) 배열이 아닌 경우는,ClassCastException 가 throw 됩니다. 좌표가 경계내에 없는 경우나,obj 가 픽셀 데이터를 포함하기 위해서 충분한 크기가 아닌 경우는,ArrayIndexOutOfBoundsException 가 throw 됩니다.

정의:
클래스 SampleModel 내의 setDataElements
파라미터:
x - 픽셀 위치의 X 좌표
y - 픽셀 위치의 Y 좌표
obj - 픽셀 데이터를 포함하는 프리미티브(primitive) 배열
data - 이미지 데이터를 포함하는 DataBuffer
관련 항목:
getDataElements(int, int, Object, DataBuffer)

setPixel

public void setPixel(int x,
                     int y,
                     int[] iArray,
                     DataBuffer  data)
샘플의 int 배열을 입력으로서 사용해 DataBuffer 내의 픽셀을 설정합니다. 좌표가 경계내에 없는 경우는,ArrayIndexOutOfBoundsException 가 throw 되는 일이 있습니다.

오버라이드(override):
클래스 SampleModel 내의 setPixel
파라미터:
x - 픽셀 위치의 X 좌표
y - 픽셀 위치의 Y 좌표
iArray - int 배열내의 입력 샘플
data - 이미지 데이터를 포함하는 DataBuffer
관련 항목:
getPixel(int, int, int[], DataBuffer)

setPixels

public void setPixels(int x,
                      int y,
                      int w,
                      int h,
                      int[] iArray,
                      DataBuffer  data)
구형의 픽셀의 샘플 모든 것을, 배열 요소 마다 1 개의 샘플이 포함되고 있는 int 배열로부터 설정합니다. 좌표가 경계내에 없는 경우는,ArrayIndexOutOfBoundsException 가 throw 되는 일이 있습니다.

오버라이드(override):
클래스 SampleModel 내의 setPixels
파라미터:
x - 좌상의 픽셀 위치의 X 좌표
y - 좌상의 픽셀 위치의 Y 좌표
w - 픽셀 구형의 폭
h - 픽셀 구형의 높이
iArray - int 배열내의 입력 샘플
data - 이미지 데이터를 포함하는 DataBuffer
관련 항목:
getPixels(int, int, int, int, int[], DataBuffer)

setSample

public void setSample(int x,
                      int y,
                      int b,
                      int s,
                      DataBuffer  data)
int 를 입력으로서 사용해 DataBuffer 내의 것 (x, y)에 위치하는 픽셀의, 지정된 밴드내의 샘플을 설정합니다. 좌표가 경계내에 없는 경우는,ArrayIndexOutOfBoundsException 가 throw 되는 일이 있습니다.

정의:
클래스 SampleModel 내의 setSample
파라미터:
x - 픽셀 위치의 X 좌표
y - 픽셀 위치의 Y 좌표
b - 설정 대상의 밴드
s - int 의 입력 샘플
data - 이미지 데이터를 포함하는 DataBuffer
관련 항목:
getSample(int, int, int, DataBuffer)

setSample

public void setSample(int x,
                      int y,
                      int b,
                      float s,
                      DataBuffer  data)
float 를 입력으로서 사용해 DataBuffer 내의 것 (x, y)에 위치하는 픽셀의, 지정된 밴드내의 샘플을 설정합니다. 좌표가 경계내에 없는 경우는,ArrayIndexOutOfBoundsException 가 throw 되는 일이 있습니다.

오버라이드(override):
클래스 SampleModel 내의 setSample
파라미터:
x - 픽셀 위치의 X 좌표
y - 픽셀 위치의 Y 좌표
b - 설정 대상의 밴드
s - float 에서의 입력 샘플
data - 이미지 데이터를 포함하는 DataBuffer
관련 항목:
getSample(int, int, int, DataBuffer)

setSample

public void setSample(int x,
                      int y,
                      int b,
                      double s,
                      DataBuffer  data)
double 를 입력으로서 사용해 DataBuffer 내의 것 (x, y)에 위치하는 픽셀의, 지정된 밴드내의 샘플을 설정합니다. 좌표가 경계내에 없는 경우는,ArrayIndexOutOfBoundsException 가 throw 되는 일이 있습니다.

오버라이드(override):
클래스 SampleModel 내의 setSample
파라미터:
x - 픽셀 위치의 X 좌표
y - 픽셀 위치의 Y 좌표
b - 설정 대상의 밴드
s - double 에서의 입력 샘플
data - 이미지 데이터를 포함하는 DataBuffer
관련 항목:
getSample(int, int, int, DataBuffer)

setSamples

public void setSamples(int x,
                       int y,
                       int w,
                       int h,
                       int b,
                       int[] iArray,
                       DataBuffer  data)
데이터 배열 요소 근처 1 개의 샘플을 포함하고 있는 int 배열로부터, 지정된 픽셀 구형의, 지정된 밴드에 샘플을 설정합니다. 좌표가 경계내에 없는 경우는,ArrayIndexOutOfBoundsException 가 throw 되는 일이 있습니다.

오버라이드(override):
클래스 SampleModel 내의 setSamples
파라미터:
x - 좌상의 픽셀 위치의 X 좌표
y - 좌상의 픽셀 위치의 Y 좌표
w - 픽셀 구형의 폭
h - 픽셀 구형의 높이
b - 설정 대상의 밴드
iArray - int 배열내의 입력 샘플
data - 이미지 데이터를 포함하는 DataBuffer
관련 항목:
getSamples(int, int, int, int, int, int[], DataBuffer)

equals

public boolean equals(Object  o)
클래스 Object 의 기술:
이 객체와 「등가」가 되는 객체가 있을지 어떨지를 나타냅니다.  

equals 메소드는, null 이외의 객체 참조에서의 동치 관계를 구현합니다.

Object 클래스의 equals 메소드는, 가장 비교하기 쉬운 객체의 동치 관계를 구현합니다. 즉, null 이외의 참조치 xy 에 대해, 이 메소드는 xy 가 같은 객체를 참조하는 (x == ytrue) 경우에만 true 를 돌려줍니다.  

일반적으로, 이 메소드를 오버라이드(override) 하는 경우는,hashCode 메소드를 항상 오버라이드(override) 해, 「등가인 객체는 등가인 해시 코드를 보관 유지할 필요가 있다」라고 하는 hashCode 메소드의 범용 규약에 따를 필요가 있는 것에 유의해 주세요.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
o - 비교 대상의 참조 객체
반환값:
obj 인수로 지정된 객체와 이 객체가 동일한 경우는 true, 그렇지 않은 경우는 false
관련 항목:
Object.hashCode() , Hashtable

hashCode

public int hashCode()
클래스 Object 의 기술:
객체의 해시 코드값를 돌려줍니다. 이 메소드는,java.util.Hashtable 에 의해 제공되는 것 같은 해시 테이블로 사용하기 위해서 준비되어 있습니다.  

hashCode 메소드의 일반적인 규칙을 다음에 나타냅니다.

할 수 있는 한,Object 클래스에서 정의되는 hashCode 메소드는, 다른 객체에 대해서는 다른 정수치를 돌려줍니다. 일반적으로, 이것은 객체의 내부 주소를 정수치로 변환하는 형태로 구현됩니다만, 그러한 구현 테크닉은 JavaTM 프로그램 언어에서는 불필요합니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
이 객체의 해시 코드값
관련 항목:
Object.equals(java.lang.Object) , Hashtable

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.