JavaTM Platform
Standard Ed. 6

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

すべてのスーパーインタフェース:
RenderedImage
既知の実装クラスの一覧:
BufferedImage

public 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

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

パラメータ:
to - 指定された TileObserver

removeTileObserver

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

パラメータ:
to - 指定された TileObserver

getWritableTile

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

パラメータ:
tileX - タイルの X インデックス
tileY - タイルの Y インデックス
戻り値:
書き込み可能なタイル

releaseWritableTile

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

パラメータ:
tileX - タイルの X インデックス
tileY - タイルの Y インデックス

isTileWritable

boolean isTileWritable(int tileX,
                       int tileY)
タイルが現在書き込みのためにチェックアウトされているかどうかを返します。

パラメータ:
tileX - タイルの X インデックス
tileY - タイルの Y インデックス
戻り値:
指定されたタイルが書き込み用にチェックアウトされている場合は true、そうでない場合は false

getWritableTileIndices

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

戻り値:
書き込み用にチェックアウトされたタイルの位置を格納する配列

hasTileWriters

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

戻り値:
タイルが書き込み用にチェックアウトされている場合は true、そうでない場合は false

setData

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

パラメータ:
r - 指定したRaster

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。