Java プラットフォーム 1.2

java.awt.image
インタフェース WritableRenderedImage

既知の実装クラスの一覧:
BufferedImage

public abstract interface WritableRenderedImage
extends RenderedImage

WriteableRenderedImage は、Raster の形式でイメージデータを格納したり作成したりすることができ、変更や上書きが可能なオブジェクトのための共通インタフェースです。イメージデータは 1 つのタイルまたはタイルの規則正しい配列として格納または作成されます。

WritableRenderedImage は、タイルが書き込みのためにチェックアウトされたとき (getWritableTile メソッドで)、および特定のタイルの最後のライターがアクセスを放棄したときに (releaseWritableTile の呼び出しで)、関連するほかのオブジェクトに通知を行います。また、WritableRenderedImage は、現在チェックアウトされているタイルがあるかどうかを呼び出し側が判定したり (hasTileWriters を介して)、そのようなタイルのリストを取得したり (getWritableTileIndices を介して、Point オブジェクトの Vector の形で) できるようにします。

タイルの書き込み可能性の変更の通知を必要とするオブジェクトは、TileObserver インタフェースを実装する必要があり、addTileObserver の呼び出しによって追加されます。同じオブジェクトで複数回 addTileObserver を呼び出すと、複数の通知を受けることになります。既存のオブザーバは、removeTileObserver を呼び出すことにより、通知を減らすこともできます。オブザーバが通知を持たない場合、オペレーションは何も行いません。

WritableRenderedImage では、最初のライターがタイルを取得し、最後のライターがそれを解放したときにだけ通知が行われるようにする必要があります。


メソッドの概要
 void addTileObserver(TileObserver to)
          オブザーバを追加します。
 WritableRaster getWritableTile(int tileX, int tileY)
          書き込みのためにタイルをチェックアウトします。
 Point[] getWritableTileIndices()
          どのタイルが書き込みのためにチェックアウトされているかを示す Point オブジェクトの配列を返します。
 boolean hasTileWriters()
          書き込みのためにチェックアウトされているタイルがあるかどうかを返します。
 boolean isTileWritable(int tileX, int tileY)
          タイルが現在書き込みのためにチェックアウトされているかどうかを返します。
 void releaseWritableTile(int tileX, int tileY)
          タイルに書き込む権利を放棄します。
 void removeTileObserver(TileObserver to)
          オブザーバを削除します。
 void setData(Raster r)
          イメージの矩形を、WritableRenderedImage と同じ座標空間にあると見なされる Raster r の内容に設定します。
 
インタフェース java.awt.image.RenderedImage から継承したメソッド
copyData, getColorModel, getData, getData, getHeight, getMinTileX, getMinTileY, getMinX, getMinY, getNumXTiles, getNumYTiles, getProperty, getPropertyNames, getSampleModel, getSources, getTile, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getWidth
 

メソッドの詳細

addTileObserver

public void addTileObserver(TileObserver to)
オブザーバを追加します。オブザーバがすでにある場合は、複数の通知を受け取ることになります。

removeTileObserver

public void removeTileObserver(TileObserver to)
オブザーバを削除します。オブザーバが登録されていなかった場合は、何も行われません。オブザーバが複数の通知に対して登録されていた場合は、1 つ少なくなります。

getWritableTile

public WritableRaster getWritableTile(int tileX,
                                      int tileY)
書き込みのためにタイルをチェックアウトします。 WritableRenderedImage は、タイルにライターがない状態からライターが 1 つある状態に変わったときに、すべての TileObserver に通知を行います。
パラメータ:
tileX - タイルの X インデックス
tileY - タイルの Y インデックス

releaseWritableTile

public void releaseWritableTile(int tileX,
                                int tileY)
タイルに書き込む権利を放棄します。呼び出し側がタイルへの書き込みを続けた場合、結果は保証されません。このメソッドの呼び出しは、getWritableTile の呼び出しとの対でのみ使用します。それ以外の方法で使用した場合、結果は保証されません。 WritableRenderedImage は、タイルにライターが 1 つある状態からライターがない状態に変わったときに、すべての TileObserver に通知を行います。
パラメータ:
tileX - タイルの X インデックス
tileY - タイルの Y インデックス

isTileWritable

public boolean isTileWritable(int tileX,
                              int tileY)
タイルが現在書き込みのためにチェックアウトされているかどうかを返します。
パラメータ:
tileX - タイルの X インデックス
tileY - タイルの Y インデックス

getWritableTileIndices

public Point[] getWritableTileIndices()
どのタイルが書き込みのためにチェックアウトされているかを示す Point オブジェクトの配列を返します。チェックアウトされているタイルがない場合は null を返します。

hasTileWriters

public boolean hasTileWriters()
書き込みのためにチェックアウトされているタイルがあるかどうかを返します。(getWritableTileIndices() != null) と同じです。

setData

public void setData(Raster r)
イメージの矩形を、WritableRenderedImage と同じ座標空間にあると見なされる Raster r の内容に設定します。オペレーションは WritableRenderedImage の境界にクリッピングされます。

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.