クラスWritableRaster

java.lang.Object
java.awt.image.Raster
java.awt.image.WritableRaster

public class WritableRaster extends Raster
このクラスは、Rasterを拡張しピクセル書込み機能を提供します。 Rasterがどのようにピクセルを格納するかについては、Rasterのクラス・コメントを参照してください。

このクラスのコンストラクタはprotectedです。 WritableRasterのインスタンスを生成するには、RasterクラスのcreateWritableRasterファクトリ・メソッドのいずれかを使用します。

  • フィールドのサマリー

    クラスRasterで宣言されたフィールド

    dataBuffer, height, minX, minY, numBands, numDataElements, parent, sampleModel, sampleModelTranslateX, sampleModelTranslateY, width
    修飾子と型
    フィールド
    説明
    protected DataBuffer
    イメージ・データを格納するDataBufferです。
    protected int
    このRasterの高さです。
    protected int
    このRasterの左上隅のピクセルのX座標です。
    protected int
    このRasterの左上隅のピクセルのY座標です。
    protected int
    Raster内のバンド数です。
    protected int
    1ピクセルあたりのDataBufferデータ要素の数です。
    protected Raster
    このRasterの親、またはnullです。
    protected SampleModel
    このRasterのピクセルがDataBufferに格納される方法を記述するSampleModelです。
    protected int
    RasterのSampleModelの座標空間からRasterの座標空間へのX変換です。
    protected int
    RasterのSampleModelの座標空間からRasterの座標空間へのY変換です。
    protected int
    このRasterの幅です。
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin)
    指定されたSampleModelおよびDataBufferを持つWritableRasterを構築します。
    protected
    WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Rectangle aRegion, Point sampleModelTranslate, WritableRaster parent)
    指定されたSampleModel、DataBuffer、および親を使ってWritableRasterを構築します。
    protected
    WritableRaster(SampleModel sampleModel, Point origin)
    指定されたSampleModelを持つWritableRasterを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    createWritableChild(int parentX, int parentY, int w, int h, int childMinX, int childMinY, int[] bandList)
    このWritableRasterのDataBufferの全部または一部を共有する新しいWritableRasterを返します。
    createWritableTranslatedChild(int childMinX, int childMinY)
    このWritableRasterと同じサイズ、SampleModel、およびDataBufferで、位置が異なるWritableRasterを生成します。
    このWritableRasterの親のWritableRaster (存在する場合)、またはnullを返します。
    void
    setDataElements(int x, int y, int w, int h, Object inData)
    ピクセル矩形のデータをTransferType型のプリミティブ配列から設定します。
    void
    setDataElements(int x, int y, Raster inRaster)
    ピクセルの矩形のデータを入力Rasterから設定します。
    void
    setDataElements(int x, int y, Object inData)
    1つのピクセルのデータをtransferType型のプリミティブ配列から設定します。
    void
    setPixel(int x, int y, double[] dArray)
    サンプルのdouble配列を入力として、DataBuffer内のピクセルを設定します。
    void
    setPixel(int x, int y, float[] fArray)
    サンプルのfloat配列を入力として使ってDataBuffer内のピクセルを設定します。
    void
    setPixel(int x, int y, int[] iArray)
    サンプルのint配列を入力として使ってDataBuffer内のピクセルを設定します。
    void
    setPixels(int x, int y, int w, int h, double[] dArray)
    矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているdouble配列から設定します。
    void
    setPixels(int x, int y, int w, int h, float[] fArray)
    矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているfloat配列から設定します。
    void
    setPixels(int x, int y, int w, int h, int[] iArray)
    矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。
    void
    setRect(int dx, int dy, Raster srcRaster)
    このWritableRasterにRaster srcRasterからピクセルをコピーします。
    void
    setRect(Raster srcRaster)
    このWritableRasterにRaster srcRasterからピクセルをコピーします。
    void
    setSample(int x, int y, int b, double s)
    doubleを入力として使用し、DataBuffer内の(x, y)に位置するピクセルの、指定されたバンド内のサンプルを設定します。
    void
    setSample(int x, int y, int b, float s)
    floatを入力として使用し、DataBuffer内の(x, y)に位置するピクセルの、指定されたバンド内のサンプルを設定します。
    void
    setSample(int x, int y, int b, int s)
    intを入力とし、DataBufferの(x,y)に位置するピクセルの、指定されたバンドのサンプルを設定します。
    void
    setSamples(int x, int y, int w, int h, int b, double[] dArray)
    指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているdouble配列から設定します。
    void
    setSamples(int x, int y, int w, int h, int b, float[] fArray)
    指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているfloat配列から設定します。
    void
    setSamples(int x, int y, int w, int h, int b, int[] iArray)
    指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。

    クラスRasterで宣言されたメソッド

    createBandedRaster, createBandedRaster, createBandedRaster, createChild, createCompatibleWritableRaster, createCompatibleWritableRaster, createCompatibleWritableRaster, createCompatibleWritableRaster, createInterleavedRaster, createInterleavedRaster, createInterleavedRaster, createPackedRaster, createPackedRaster, createPackedRaster, createPackedRaster, createRaster, createTranslatedChild, createWritableRaster, createWritableRaster, getBounds, getDataBuffer, getDataElements, getDataElements, getHeight, getMinX, getMinY, getNumBands, getNumDataElements, getParent, getPixel, getPixel, getPixel, getPixels, getPixels, getPixels, getSample, getSampleDouble, getSampleFloat, getSampleModel, getSampleModelTranslateX, getSampleModelTranslateY, getSamples, getSamples, getSamples, getTransferType, getWidth
    修飾子と型
    メソッド
    説明
    createBandedRaster(int dataType, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
    指定されたデータ型、幅、高さ、走査線ストライド、バンク・インデックス、バンド・オフセットを持つ、BandedSampleModelに基づいたRasterを生成します。
    createBandedRaster(int dataType, int w, int h, int bands, Point location)
    指定されたデータ型、幅、高さ、バンド数を持つ、BandedSampleModelに基づいたRasterを生成します。
    createBandedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
    指定されたDataBuffer、幅、高さ、走査線ストライド、バンク・インデックス、およびバンド・オフセットを持つ、BandedSampleModelに基づいたRasterを生成します。
    createChild(int parentX, int parentY, int width, int height, int childMinX, int childMinY, int[] bandList)
    このRasterのDataBufferのすべてまたは一部を共有する新しいRasterを返します。
    このRasterと同じSampleModelと初期化された新しいDataBufferを持ち、このRasterと同じサイズで互換性があるWritableRasterを生成します。
    指定されたサイズ、新しいSampleModel、および初期化された新しいDataBufferを持ち、互換性があるWritableRasterを生成します。
    createCompatibleWritableRaster(int x, int y, int w, int h)
    指定された位置(minX, minY)とサイズ(width, height)、新しいSampleModel、および初期化された新しいDataBufferを持ち、互換性があるWritableRasterを生成します。
    rectによって指定される位置(minX, minY)とサイズ(width, height)、新しいSampleModel、および初期化された新しいDataBufferを持ち、互換性があるWritableRasterを生成します。
    createInterleavedRaster(int dataType, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
    指定されたデータ型、幅、高さ、走査線ストライド、ピクセル・ストライド、およびバンド・オフセットを持つ、PixelInterleavedSampleModelに基づいたRasterを生成します。
    createInterleavedRaster(int dataType, int w, int h, int bands, Point location)
    指定されたデータ型、幅、高さ、およびバンド数を持つ、PixelInterleavedSampleModelに基づいたRasterを生成します。
    createInterleavedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
    指定されたDataBuffer、幅、高さ、走査線ストライド、ピクセル・ストライド、およびバンド・オフセットを持つ、PixelInterleavedSampleModelに基づいたRasterを生成します。
    createPackedRaster(int dataType, int w, int h, int[] bandMasks, Point location)
    指定されたデータ型、幅、高さ、およびバンド・マスクを持つ、SinglePixelPackedSampleModelに基づいたRasterを生成します。
    createPackedRaster(int dataType, int w, int h, int bands, int bitsPerBand, Point location)
    指定されたデータ型、幅、高さ、バンド数、および1バンドあたりのビット数を持つ、パックされたSampleModelに基づいたRasterを生成します。
    createPackedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bandMasks, Point location)
    指定されたDataBuffer、幅、高さ、走査線ストライド、およびバンド・マスクを持つ、SinglePixelPackedSampleModelに基づいたRasterを生成します。
    createPackedRaster(DataBuffer dataBuffer, int w, int h, int bitsPerPixel, Point location)
    指定されたDataBuffer、幅、高さ、および1ピクセルあたりのビット数を持つ、MultiPixelPackedSampleModelに基づいたRasterを生成します。
    static Raster
    指定されたSampleModelとDataBufferを持つRasterを生成します。
    createTranslatedChild(int childMinX, int childMinY)
    このRasterと同じサイズ、SampleModel、およびDataBufferを持ち、位置が異なるRasterを生成します。
    指定されたSampleModelとDataBufferを持つWritableRasterを生成します。
    指定されたSampleModelを持つWritableRasterを生成します。
    このRasterの境界のRectangleを返します。
    このRasterに関連したDataBufferを返します。
    getDataElements(int x, int y, int w, int h, Object outData)
    TransferType型のプリミティブ配列の、指定されたピクセル矩形のピクセル・データを返します。
    getDataElements(int x, int y, Object outData)
    transferType型のプリミティブ配列内の1つのピクセルのデータを返します。
    final int
    Rasterの高さをピクセル単位で返します。
    final int
    Rasterの有効な最小のX座標を返します。
    final int
    Rasterの有効な最小のY座標を返します。
    final int
    このRaster内のバンド数(1ピクセルあたりのサンプル数)を返します。
    final int
    getDataElementsメソッドおよびsetDataElementsメソッドを使って1ピクセル転送するのに必要なデータ要素の数を返します。
    このRasterの親Rasterがあればそれを返します。親がない場合は、nullを返します。
    double[]
    getPixel(int x, int y, double[] dArray)
    指定されたピクセルのサンプルをdouble配列として返します。
    float[]
    getPixel(int x, int y, float[] fArray)
    指定されたピクセルのサンプルをfloat配列として返します。
    int[]
    getPixel(int x, int y, int[] iArray)
    指定されたピクセルのサンプルをint配列として返します。
    double[]
    getPixels(int x, int y, int w, int h, double[] dArray)
    矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているdouble配列として返します。
    float[]
    getPixels(int x, int y, int w, int h, float[] fArray)
    矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているfloat配列として返します。
    int[]
    getPixels(int x, int y, int w, int h, int[] iArray)
    矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているint配列として返します。
    int
    getSample(int x, int y, int b)
    (x, y)に位置するピクセルの指定されたバンド内のサンプルをintとして返します。
    double
    getSampleDouble(int x, int y, int b)
    (x, y)に位置するピクセルの指定されたバンド内のサンプルをdoubleとして返します。
    float
    getSampleFloat(int x, int y, int b)
    (x, y)に位置するピクセルの指定されたバンド内のサンプルをfloatとして返します。
    イメージ・データのレイアウトを記述するSampleModelを返します。
    final int
    SampleModelの座標体系からRasterの座標体系へのX変換を返します。
    final int
    SampleModelの座標体系からRasterの座標体系へのY変換を返します。
    double[]
    getSamples(int x, int y, int w, int h, int b, double[] dArray)
    double配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
    float[]
    getSamples(int x, int y, int w, int h, int b, float[] fArray)
    float配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
    int[]
    getSamples(int x, int y, int w, int h, int b, int[] iArray)
    int配列の指定されたピクセルの矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
    final int
    getDataElementsメソッドおよびsetDataElementsメソッドを使ってピクセルを転送するのに使用されるTransferTypeを返します。
    final int
    Rasterの幅をピクセル単位で返します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • WritableRaster

      protected WritableRaster(SampleModel sampleModel, Point origin)
      指定されたSampleModelを持つWritableRasterを構築します。 WritableRasterは左上隅が原点で、サイズはSampleModelと同じです。 WritableRasterを記述するために十分な大きさのDataBufferが自動的に生成されます。
      パラメータ:
      sampleModel - レイアウトを指定するSampleModel。
      origin - 原点を指定するPoint。
      スロー:
      RasterFormatException - origin.x+sampleModel.getWidth()またはorigin.y+sampleModel.getHeight()のいずれかの計算で整数型オーバーフローが発生した場合
    • WritableRaster

      protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin)
      指定されたSampleModelおよびDataBufferを持つWritableRasterを構築します。 WritableRasterは左上隅が原点で、サイズはSampleModelと同じです。 DataBufferは初期化されておらず、SampleModelに準拠している必要があります。
      パラメータ:
      sampleModel - レイアウトを指定するSampleModel。
      dataBuffer - イメージ・データを格納するDataBuffer。
      origin - 原点を指定するPoint。
      スロー:
      RasterFormatException - origin.x+sampleModel.getWidth()またはorigin.y+sampleModel.getHeight()のいずれかの計算で整数型オーバーフローが発生した場合
    • WritableRaster

      protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Rectangle aRegion, Point sampleModelTranslate, WritableRaster parent)
      指定されたSampleModel、DataBuffer、および親を使ってWritableRasterを構築します。aRegionは新しいRasterの境界の矩形を指定します。 基底Rasterの座標系に変換されるとき、aRegionは基底Rasterによって包含されている必要があります。 基底RasterはRasterの上位オブジェクトであり、親を持ちません。sampleModelTranslateは新しいRasterのsampleModelTranslateX値およびsampleModelTranslateY値を指定します。 このコンストラクタは、通常、他のコンストラクタまたはcreateメソッドによって呼び出されます。直接には使用しないようにしてください。
      パラメータ:
      sampleModel - レイアウトを指定するSampleModel。
      dataBuffer - イメージ・データを格納するDataBuffer。
      aRegion - イメージ領域を指定するRectangle。
      sampleModelTranslate - SampleModelからRaster座標への変換を指定するPoint。
      parent - このラスターの親(存在する場合)。
      スロー:
      RasterFormatException - aRegionの幅または高さがゼロ以下の場合、あるいはaRegion.x+aRegion.widthaRegion.y+aRegion.heightのいずれかの計算で整数型オーバーフローが発生した場合
  • メソッドの詳細

    • getWritableParent

      public WritableRaster getWritableParent()
      このWritableRasterの親のWritableRaster (存在する場合)、またはnullを返します。
      戻り値:
      このWritableRasterの親、またはnull
    • createWritableTranslatedChild

      public WritableRaster createWritableTranslatedChild(int childMinX, int childMinY)
      このWritableRasterと同じサイズ、SampleModel、およびDataBufferで、位置が異なるWritableRasterを生成します。 新しいWritableRasterは、getParent()メソッドおよびgetWritableParent()メソッドでアクセス可能な、現在のWritableRasterへの参照を持ちます。
      パラメータ:
      childMinX - 新しいRasterの左上隅のX座標。
      childMinY - 新しいRasterの左上隅のY座標。
      戻り値:
      指定された位置以外はこのWritableRasterと同じWritableRaster
      スロー:
      RasterFormatException - childMinX+this.getWidth()またはchildMinY+this.getHeight()のいずれかの計算で整数型オーバーフローが発生した場合
    • createWritableChild

      public WritableRaster createWritableChild(int parentX, int parentY, int w, int h, int childMinX, int childMinY, int[] bandList)
      このWritableRasterのDataBufferの全部または一部を共有する新しいWritableRasterを返します。 新しいWritableRasterは、getParent()メソッドおよびgetWritableParent()メソッドでアクセス可能な、現在のWritableRasterへの参照を持ちます。

      このWritableRasterの座標空間に、parentX、parentY、width、heightの各パラメータによってRectangleが形成され、共有されるピクセル領域を示します。 このRectangleが現在のWritableRasterの境界内にない場合は、エラーがスローされます。

      新しいWritableRasterはさらに、同じ平面上で現在のWritableRasterが使用する座標体系とは異なる座標体系に変換できます。 childMinXパラメータとchildMinYパラメータにより、返されたWritableRasterの左上隅にあるピクセルの新しい座標(x, y)が指定されます。新しいWritableRaster内の座標(childMinX, childMinY)は、現在のWritableRaster内の座標(parentX, parentY)と同じピクセルにマップされます。

      bandListパラメータを使用して、現在のWritableRasterのバンドのサブセットだけを、場合によっては順序を変更して格納する新しいWritableRasterを定義できます。 bandListがnullの場合は、現在のWritableRasterのすべてのバンドが現在と同じ順序で格納されます。

      現在のWritableRasterの一部の領域を含み、座標系とバンドを共有する新しいWritableRasterを生成するには、childMinXをparentXと同じ値に、childMinYをparentYと同じ値に、bandListをnullにそれぞれ指定して、このメソッドを呼び出します。

      パラメータ:
      parentX - このWritableRasterの座標での左上隅のX座標。
      parentY - このWritableRasterの座標での左上隅のY座標。
      w - (parentX, parentY)から始まる領域の幅。
      h - (parentX, parentY)から始まる領域の高さ。
      childMinX - 返されるWritableRasterの左上隅のX座標。
      childMinY - 返されるWritableRasterの左上隅のY座標。
      bandList - バンド・インデックスの配列。すべてのバンドを使用する場合はnull。
      戻り値:
      このWritableRasterのすべて、または一部のDataBufferを共有するWritableRaster
      スロー:
      RasterFormatException - 部分領域がラスターの境界の外側にある場合。
      RasterFormatException - wまたはhが0以下の場合、またはparentX+wparentY+hchildMinX+wchildMinY+hのいずれかの計算で整数型オーバーフローが発生した場合
    • setDataElements

      public void setDataElements(int x, int y, Object inData)
      1つのピクセルのデータをtransferType型のプリミティブ配列から設定します。 Java 2D(tm) APIによってサポートされているイメージ・データの場合は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、またはDataBuffer.TYPE_DOUBLEのいずれかになります。 配列内のデータはパックされた形式で返されることもあり、その場合、データ転送の効率が上がります。 座標が境界内にない場合、またはinDataがピクセル・データを格納するために十分な大きさでない場合、ArrayIndexOutOfBoundsExceptionがスローされます。 ただし、明示的な境界チェックは必ずしも実行されません。 入力オブジェクトがnullでなく、TransferTypeの配列以外のものを参照する場合、ClassCastExceptionがスローされます。
      パラメータ:
      x - ピクセル位置のX座標。
      y - ピクセル位置のY座標。
      inData - getTransferType()によって定義された型とgetNumDataElements()によって定義された長さを持ち、x,yに配置するピクセル・データを格納する配列へのオブジェクト参照。
      スロー:
      ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはinDataが小さすぎて入力を保持できない場合。
      関連項目:
    • setDataElements

      public void setDataElements(int x, int y, Raster inRaster)
      ピクセルの矩形のデータを入力Rasterから設定します。 入力RasterはこのWritableRasterに準拠している必要があります。つまり、同じ数のバンドを持ち、対応するバンドのサンプルありのビット数が同じで、TransferTypeおよびNumDataElementsも同じで、さらに、getDataElements/setDataElementsによって使用されるパック方式が同じである必要があります。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ただし、明示的な境界チェックは必ずしも実行されません。
      パラメータ:
      x - ピクセル位置のX座標。
      y - ピクセル位置のY座標。
      inRaster - x,yに配置するデータが格納されているRaster。
      スロー:
      NullPointerException - inRasterがnullの場合。
      ArrayIndexOutOfBoundsException - 座標が範囲外にある場合。
    • setDataElements

      public void setDataElements(int x, int y, int w, int h, Object inData)
      ピクセル矩形のデータをTransferType型のプリミティブ配列から設定します。 Java 2D APIによってサポートされているイメージ・データの場合は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、またはDataBuffer.TYPE_DOUBLEのいずれかになります。 配列内のデータはパックされた形式で返されることもあり、その場合、データ転送の効率が上がります。 座標が境界内にない場合、またはinDataがピクセル・データを格納するために十分な大きさでない場合、ArrayIndexOutOfBoundsExceptionがスローされます。 ただし、明示的な境界チェックは必ずしも実行されません。 入力オブジェクトがnullでなく、TransferTypeの配列以外のものを参照する場合、ClassCastExceptionがスローされます。
      パラメータ:
      x - 左上のピクセル位置のX座標。
      y - 左上のピクセル位置のY座標。
      w - ピクセル矩形の幅。
      h - ピクセル矩形の高さ。
      inData - getTransferType()によって定義された型を持ち、長さがw*h*getNumDataElements()で、x,yとx+w-1, y+h-1の間に配置するピクセル・データが格納されている配列へのオブジェクト参照。
      スロー:
      NullPointerException - inDataがnullの場合。
      ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはinDataが小さすぎて入力を保持できない場合。
      関連項目:
    • setRect

      public void setRect(Raster srcRaster)
      このWritableRasterにRaster srcRasterからピクセルをコピーします。 アドレスがこのラスターの境界外になる場合を除いて、srcRaster内の各ピクセルは、このRaster内の同じx,yアドレスにコピーされます。srcRasterはこのWritableRasterと同じ数のバンドを持つ必要があります。 対応する転送先サンプルに、転送元サンプルが単純にコピーされます。

      転送元および転送先のRasterのすべてのサンプルが整数型で、サイズが32ビット以下の場合、このメソッドの呼出しは、両方のRasterで有効なすべてのx,yアドレスで次のコードを実行するのと同じ結果になります。

            Raster srcRaster;
            WritableRaster dstRaster;
            for (int b = 0; b < srcRaster.getNumBands(); b++) {
                dstRaster.setSample(x, y, b, srcRaster.getSample(x, y, b));
            }
      
      整数型の転送元から整数型の転送先にコピーが実行される場合、転送元サンプルのサイズが転送先サンプルのサイズより大きいバンドがあると、転送元サンプルの上位ビットが切り捨てられます。 転送元サンプルのサイズが転送先サンプルのサイズより小さいバンドがあると、転送先サンプルの上位ビットには、srcRasterのSampleModelがサンプルを符号付きの数量として扱うときは符号が設定され、符号なしの数量として扱うときはゼロが設定されます。

      floatまたはdoubleの転送元から整数型の転送先にコピーが実行される場合、転送元サンプルが転送先の型にキャストされます。 整数型の転送元からfloatまたはdoubleの転送先にコピーされる場合、必要に応じて、上記の整数型に関するルールに基づき転送元が最初に32ビットの整数型に変換され、floatまたはdoubleにキャストされます。

      パラメータ:
      srcRaster - ピクセルのコピー元のRaster。
      スロー:
      NullPointerException - srcRasterがnullの場合。
    • setRect

      public void setRect(int dx, int dy, Raster srcRaster)
      このWritableRasterにRaster srcRasterからピクセルをコピーします。 (x+dx, y+dy)がこのラスターの境界外になる場合を除いて、srcRaster内の各アドレス(x, y)について、対応するピクセルがこのWritableRaster内のアドレス(x+dx, y+dy)にコピーされます。srcRasterはこのWritableRasterと同じ数のバンドを持つ必要があります。 対応する転送先サンプルに、転送元サンプルが単純にコピーされます。 詳細は、setRect(Raster)を参照してください。
      パラメータ:
      dx - コピーのsrc空間からdst空間へのXの変換係数。
      dy - コピーのsrc空間からdst空間へのYの変換係数。
      srcRaster - ピクセルのコピー元のRaster。
      スロー:
      NullPointerException - srcRasterがnullの場合。
    • setPixel

      public void setPixel(int x, int y, int[] iArray)
      サンプルのint配列を入力として使ってDataBuffer内のピクセルを設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ただし、明示的な境界チェックは必ずしも実行されません。
      パラメータ:
      x - ピクセル位置のX座標。
      y - ピクセル位置のY座標。
      iArray - int配列の入力サンプル。
      スロー:
      NullPointerException - iArrayがnullの場合。
      ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはiArrayが小さすぎて入力を保持できない場合。
    • setPixel

      public void setPixel(int x, int y, float[] fArray)
      サンプルのfloat配列を入力として使ってDataBuffer内のピクセルを設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ただし、明示的な境界チェックは必ずしも実行されません。
      パラメータ:
      x - ピクセル位置のX座標。
      y - ピクセル位置のY座標。
      fArray - float配列の入力サンプル。
      スロー:
      NullPointerException - fArrayがnullの場合。
      ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはfArrayが小さすぎて入力を保持できない場合。
    • setPixel

      public void setPixel(int x, int y, double[] dArray)
      サンプルのdouble配列を入力として、DataBuffer内のピクセルを設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ただし、明示的な境界チェックは必ずしも実行されません。
      パラメータ:
      x - ピクセル位置のX座標。
      y - ピクセル位置のY座標。
      dArray - double配列の入力サンプル。
      スロー:
      NullPointerException - dArrayがnullの場合。
      ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはdArrayが小さすぎて入力を保持できない場合。
    • setPixels

      public void setPixels(int x, int y, int w, int h, int[] iArray)
      矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ただし、明示的な境界チェックは必ずしも実行されません。
      パラメータ:
      x - 左上のピクセル位置のX座標。
      y - 左上のピクセル位置のY座標。
      w - ピクセル矩形の幅。
      h - ピクセル矩形の高さ。
      iArray - 入力intピクセル配列。
      スロー:
      NullPointerException - iArrayがnullの場合。
      ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはiArrayが小さすぎて入力を保持できない場合。
    • setPixels

      public void setPixels(int x, int y, int w, int h, float[] fArray)
      矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているfloat配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ただし、明示的な境界チェックは必ずしも実行されません。
      パラメータ:
      x - 左上のピクセル位置のX座標。
      y - 左上のピクセル位置のY座標。
      w - ピクセル矩形の幅。
      h - ピクセル矩形の高さ。
      fArray - 入力floatピクセル配列。
      スロー:
      NullPointerException - fArrayがnullの場合。
      ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはfArrayが小さすぎて入力を保持できない場合。
    • setPixels

      public void setPixels(int x, int y, int w, int h, double[] dArray)
      矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているdouble配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ただし、明示的な境界チェックは必ずしも実行されません。
      パラメータ:
      x - 左上のピクセル位置のX座標。
      y - 左上のピクセル位置のY座標。
      w - ピクセル矩形の幅。
      h - ピクセル矩形の高さ。
      dArray - 入力doubleピクセル配列。
      スロー:
      NullPointerException - dArrayがnullの場合。
      ArrayIndexOutOfBoundsException - 座標が境界内に存在しない場合、またはdArrayが小さすぎて入力を保持できない場合。
    • setSample

      public void setSample(int x, int y, int b, int s)
      intを入力とし、DataBufferの(x,y)に位置するピクセルの、指定されたバンドのサンプルを設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ただし、明示的な境界チェックは必ずしも実行されません。
      パラメータ:
      x - ピクセル位置のX座標。
      y - ピクセル位置のY座標。
      b - 設定されるバンド。
      s - 入力サンプル。
      スロー:
      ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内にない場合。
    • setSample

      public void setSample(int x, int y, int b, float s)
      floatを入力として使用し、DataBuffer内の(x, y)に位置するピクセルの、指定されたバンド内のサンプルを設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ただし、明示的な境界チェックは必ずしも実行されません。
      パラメータ:
      x - ピクセル位置のX座標。
      y - ピクセル位置のY座標。
      b - 設定されるバンド。
      s - floatでの入力サンプル。
      スロー:
      ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内にない場合。
    • setSample

      public void setSample(int x, int y, int b, double s)
      doubleを入力として使用し、DataBuffer内の(x, y)に位置するピクセルの、指定されたバンド内のサンプルを設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ただし、明示的な境界チェックは必ずしも実行されません。
      パラメータ:
      x - ピクセル位置のX座標。
      y - ピクセル位置のY座標。
      b - 設定されるバンド。
      s - doubleでの入力サンプル。
      スロー:
      ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内にない場合。
    • setSamples

      public void setSamples(int x, int y, int w, int h, int b, int[] iArray)
      指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ただし、明示的な境界チェックは必ずしも実行されません。
      パラメータ:
      x - 左上のピクセル位置のX座標。
      y - 左上のピクセル位置のY座標。
      w - ピクセル矩形の幅。
      h - ピクセル矩形の高さ。
      b - 設定されるバンド。
      iArray - 入力intのサンプル配列。
      スロー:
      NullPointerException - iArrayがnullの場合。
      ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内に存在しない場合、またはiArrayが小さすぎて入力を保持できない場合。
    • setSamples

      public void setSamples(int x, int y, int w, int h, int b, float[] fArray)
      指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているfloat配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ただし、明示的な境界チェックは必ずしも実行されません。
      パラメータ:
      x - 左上のピクセル位置のX座標。
      y - 左上のピクセル位置のY座標。
      w - ピクセル矩形の幅。
      h - ピクセル矩形の高さ。
      b - 設定されるバンド。
      fArray - 入力floatサンプル配列。
      スロー:
      NullPointerException - fArrayがnullの場合。
      ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内に存在しない場合、またはfArrayが小さすぎて入力を保持できない場合。
    • setSamples

      public void setSamples(int x, int y, int w, int h, int b, double[] dArray)
      指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているdouble配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ただし、明示的な境界チェックは必ずしも実行されません。
      パラメータ:
      x - 左上のピクセル位置のX座標。
      y - 左上のピクセル位置のY座標。
      w - ピクセル矩形の幅。
      h - ピクセル矩形の高さ。
      b - 設定されるバンド。
      dArray - 入力doubleサンプル配列。
      スロー:
      NullPointerException - dArrayがnullの場合。
      ArrayIndexOutOfBoundsException - 座標またはバンド・インデックスが境界内に存在しない場合、またはdArrayが小さすぎて入力を保持できない場合。