ComponentSampleModel (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

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` - `w` 와 `h` 의 적이 `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 픽셀의 데이터를 전송 하는 예를 나타냅니다. 이 전송 방법은,`getPixel` 및 `setPixel` 를 사용하는 방법보다 일반적으로 효율적입니다.

                   ComponentSampleModel csm1, csm2;
                   DataBufferInt db1, db2;
                   csm2.setDataElements(x, y,
                                  csm1.getDataElements(x, y, null, db1), db2);

  2 개의 `SampleModel` 객체의 밴드수가 같아, 대응하는 밴드의 1 샘플 근처의 비트수가 같아,`TransferType` 도 같은 경우는, 2 조의 `DataBuffer` 과 `SampleModel` 의 페어의 사이에 전송을 실시하려면 ,`getDataElements` 및 `setDataElements` 를 사용하는 것이 적절합니다.

  `obj` 가 `null` 가 아닌 경우는,`TransferType` 형의 프리미티브(primitive) 배열이 됩니다. 그렇지 않은 경우는,`ClassCastException` 가 throw 됩니다. 좌표가 경계내에 없는 경우나,`obj` 가 `null` 가 아니고, 픽셀 데이터를 포함하기 위해서 충분한 크기가 아닌 경우는,`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 픽셀의 데이터를 전송 하는 예를 나타냅니다. 이 전송 방법은,`getPixel` 및 `setPixel` 를 사용하는 방법보다 일반적으로 효율적입니다.

                   ComponentSampleModel csm1, csm2;
                   DataBufferInt db1, db2;
                   csm2.setDataElements(x, y, csm1.getDataElements(x, y, null, db1),
                                  db2);

  2 개의 `SampleModel` 객체의 밴드수가 같아, 대응하는 밴드의 1 샘플 근처의 비트수가 같아,`TransferType` 도 같은 경우는, 2 조의 `DataBuffer` 과 `SampleModel` 의 페어의 사이에 전송을 실시하려면 ,`getDataElements` 및 `setDataElements` 를 사용하는 것이 적절합니다.

  `obj` 가 `transferType` 형의 프리미티브(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 이외의 객체 참조에서의 동치 관계를 구현합니다.

  - 반사성 (reflexive) :null 이외의 참조치 `x` 에 대해,`x.equals(x)` 는 `true` 를 돌려준다
  - 대칭성 (symmetric) :null 이외의 참조치 `x` 와 `y` 에 대해,`x.equals(y)` 는,`y.equals(x)` 가 `true` 를 돌려주는 경우만 `true` 를 돌려준다
  - 추이성 (transitive) :null 이외의 참조치 `x`,`y`,`z` 에 대해,`x.equals(y)` 가 `true` 를 돌려주어, 한편 `y.equals(z)` 가 `true` 를 돌려주는 경우에,`x.equals(z)` 는 `true` 를 돌려준다
  - 무결성 (consistent) :null 이외의 참조치 `x` 및 `y` 에 대해,`x.equals(y)` 를 복수 호출하면(자) 항상 `true` 를 돌려주는지, 항상 `false` 를 돌려준다. 이것은, 객체에 대한 `equals` 에 의한 비교로 사용된 정보가 변경되어 있지 않은 것이 조건이다
  - null 가 아닌 임의의 참조치 `x` 에 대해,`x.equals(null)` 는 `false` 를 돌려준다

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

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

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

### hashCode

    public int hashCode()

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

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

  - Java 어플리케이션의 실행중에 같은 객체상에서 여러 차례 불려 가는 경우는 반드시, 이 객체에 대한 `equals` 에 의한 비교로 사용된 정보가 변경되어 있지 않으면,`hashCode` 메소드는 같은 정수를 일관해 돌려주지 않으면 안 된다. 다만, 이 정수는 같은 어플리케이션의 실행 마다 같은 필요는 없다
  - `equals(Object)` 메소드로 2 개의 객체가 등가로 여겨졌을 경우, 어느 쪽의 객체로 `hashCode` 메소드를 호출해도 결과는 같은 정수치가 되어야 하다
  - `Object.equals(java.lang.Object)` 메소드로 2 개의 객체가 등가가 아니다고 여겨졌을 경우는, 이러한 객체에 대해서 `hashCode` 메소드를 호출했을 때에, 결과가 다른 정수치가 되지 않아도 상관없다. 그러나, 동일하지 않은 객체에 대해서는 다른 정수치가 생성되도록 하면, 해시 테이블의 퍼포먼스를 올릴 수가 있다

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

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

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

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 도 참조해 주세요.