com.nttdocomo.ui
クラス PalettedImage

Object
  |
  +--com.nttdocomo.ui.Image
        |
        +--com.nttdocomo.ui.PalettedImage

public abstract class PalettedImage
extends Image

パレットを設定できるイメージを定義します。 PalettedImage クラスのオブジェクトはイメージの情報とパレットの情報を別々に持ち、 パレットを後から入れ替えることによって色違いの画像を描画することができます。
PalettedImage オブジェクトを生成すると、 同時に Palette オブジェクトも生成され、 PalettedImage オブジェクトに保持されます。 その Palette オブジェクトのエントリを直接変更することもできますし、 新たに生成した別の Palette オブジェクトを PalettedImage オブジェクトに設定することもできます。
また、複数の PalettedImage オブジェクトに同一の Palette オブジェクトを設定すると、 一つのパレットを変更するだけで複数の画像を色違いで描画することができます。

PalettedImage クラスは Image クラスのサブクラスですが、 Image を引数に取るメソッドの中のどのメソッドで使用できるのかは機種依存です。 PalettedImage に対応していないメソッドの引数に PalettedImage オブジェクトを指定して呼び出した場合、 特に例外は発生しませんが、描画内容については機種依存となります。 ただし、そのメソッドに特に規定が有る場合には、その規定が優先されます。
ミニマムスペックでは、

がサポートされています。

導入されたバージョン:
DoJa-3.5
関連項目:
Palette

コンストラクタの概要
protected PalettedImage()
           アプリケーションが直接このクラスのインスタンスを生成することはできません。
 
メソッドの概要
static PalettedImage createPalettedImage(byte[] data)
           バイト配列を指定してパレットを設定できるイメージを生成します。
static PalettedImage createPalettedImage(java.io.InputStream in)
           ストリームを指定してパレットを設定できるイメージを生成します。
 Graphics getGraphics()
           このクラスのインスタンスに対して呼び出すことはできません。
 Palette getPalette()
           パレットを取得します。
 void setPalette(Palette palette)
           パレットを設定します。
 
クラス com.nttdocomo.ui.Image から継承したメソッド
createImage, createImage, dispose, getHeight, getWidth
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

PalettedImage

protected PalettedImage()
アプリケーションが直接このクラスのインスタンスを生成することはできません。

メソッドの詳細

createPalettedImage

public static PalettedImage createPalettedImage(java.io.InputStream in)

ストリームを指定してパレットを設定できるイメージを生成します。 GIF 画像のバイナリデータからイメージ情報とパレット情報が生成されます。
イメージ情報は最大 256 色までのインデックスカラー表現で格納され、 描画時にはその時点で設定されているパレット情報を用いて色を復元しながら描画を行います。
パレット情報は、GIF 画像のバイナリデータのヘッダに記録されているカラーテーブルと同順・同サイズのエントリを持つパレットオブジェクトが生成され、 その中に格納されます。 また、カラーテーブルのサイズは生成された PalettedImage オブジェクトに記録さます。 以後、色数がこのカラーテーブルのサイズに満たないパレットオブジェクトは setPalette(Palette) メソッドで設定することはできません。

引数にアニメーションGIFを指定した場合は、 1 枚目の画像を元にイメージ情報とパレットオブジェクトが生成されます。
また、元のGIF画像に透過色指定がなされており、 透過色インデックスが index である場合には、 生成されるパレットオブジェクトにおいて index 番目のエントリが常に透過色指定された状態になります。 透過色指定を解除・変更することはできません。

パラメータ:
in - イメージのデータを含む入力ストリームを指定します。 GIF 画像のバイナリデータをそのまま読み出すことができる入力ストリームを指定します。
戻り値:
パレットを設定できるイメージを返します。
例外:
NullPointerException - 引数 in に null が指定された場合に発生します。
UIException - 引数 in に不正なデータが指定された場合に発生します(UNSUPPORTED_FORMAT)。

createPalettedImage

public static PalettedImage createPalettedImage(byte[] data)

バイト配列を指定してパレットを設定できるイメージを生成します。 GIF 画像のバイナリデータからイメージ情報とパレット情報が生成されます。
イメージ情報は最大 256 色までのインデックスカラー表現で格納され、 描画時にはその時点で設定されているパレット情報を用いて色を復元しながら描画を行います。
パレット情報は、GIF 画像のバイナリデータのヘッダに記録されているカラーテーブルと同順・同サイズのエントリを持つパレットオブジェクトが生成され、 その中に格納されます。 また、カラーテーブルのサイズは生成された PalettedImage オブジェクトに記録さます。 以後、色数がこのカラーテーブルのサイズに満たないパレットオブジェクトは setPalette(Palette) メソッドで設定することはできません。

引数にアニメーションGIFを指定した場合は、 1 枚目の画像を元にイメージ情報とパレットオブジェクトが生成されます。
また、元のGIF画像に透過色指定がなされており、 透過色インデックスが index である場合には、 生成されるパレットオブジェクトにおいて index 番目のエントリが常に透過色指定された状態になります。 透過色指定を解除・変更することはできません。

パラメータ:
data - イメージのデータを含むバイト配列指定します。 GIF 画像のバイナリデータがそのまま格納されたバイト配列を指定します。
戻り値:
パレットを設定できるイメージを返します。
例外:
NullPointerException - 引数 data に null が指定された場合に発生します。
UIException - 引数 data に不正なデータが指定された場合に発生します(UNSUPPORTED_FORMAT)。

setPalette

public void setPalette(Palette palette)
パレットを設定します。 このメソッドでは、引数に渡された Palette オブジェクトへの参照がこのオブジェクトにコピーされます。 したがって、このメソッドを呼び出した後に当該 Palette オブジェクトに対して Palette.setEntry(int, int) をメソッドを呼び出した場合、 次の描画時には Palette の変更が反映されます。

パラメータ:
palette - パレットオブジェクトを指定します。
例外:
NullPointerException - 引数 palette に null が指定された場合に発生します。
IllegalArgumentException - 引数 palette の要素数が PalettedImage 生成時のパレットのエントリ数よりも小さい場合に発生します。

getPalette

public Palette getPalette()
パレットを取得します。 このメソッドでは、このオブジェクトが持つパレットオブジェクトの参照が返されます。

戻り値:
パレットオブジェクトを返します。

getGraphics

public final Graphics getGraphics()
このクラスのインスタンスに対して呼び出すことはできません。

オーバーライド:
クラス Image 内の getGraphics
戻り値:
イメージに描画するためのグラフィックスオブジェクトを返します。
例外:
UnsupportedOperationException - このメソッドが呼ばれた場合に発生します。


NTT DoCoMo,Inc.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。