|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.nttdocomo.ui.Image
com.nttdocomo.ui.PalettedImage
パレットを設定できるイメージを定義します。
PalettedImage クラスのオブジェクトはイメージの情報とパレットの情報を別々に持ち、
パレットを後から入れ替えることによって色違いの画像を描画することができます。
PalettedImage オブジェクトを生成すると、
同時に Palette
オブジェクトも生成され、
PalettedImage オブジェクトに保持されます。
その Palette オブジェクトのエントリを直接変更することもできますし、
新たに生成した別の Palette オブジェクトを
PalettedImage オブジェクトに設定することもできます。
また、複数の PalettedImage オブジェクトに同一の Palette オブジェクトを設定すると、 一つのパレットを変更するだけで複数の画像を色違いで描画することができます。
PalettedImage クラスは Image
クラスのサブクラスですが、
Image を引数に取るメソッドの中のどのメソッドで使用できるのかは機種依存です。
PalettedImage に対応していないメソッドの引数に PalettedImage オブジェクトを指定して呼び出した場合、
特に例外は発生しませんが、描画内容については機種依存となります。
ただし、そのメソッドに特に規定が有る場合には、その規定が優先されます。
ミニマムスペックでは、以下の描画がサポートされています。
Graphics.drawImage(Image, int, int)
、
Graphics.drawImage(Image, int, int, int, int, int, int)
による描画
SpriteSet
の描画
ImageMap
の描画
[DoJa-5.0 (903i) 以降]
透過色インデックス指定による透過イメージの描画や、
α値指定による半透明描画も可能です。
PalettedImage の描画がサポートされているメソッドでは、
これら新機能を使った描画もサポートされています。
なお、透過色指定の方法が、
スーパークラスにおける方法と異なる
ことに注意してください。
Palette
コンストラクタの概要 | |
protected |
PalettedImage()
アプリケーションが直接このクラスのインスタンスを生成することはできません。 |
メソッドの概要 | |
void |
changeData(byte[] data)
現在のイメージ情報・パレット情報を、 バイト配列で指定された画像データのイメージ情報・ パレット情報に差し替えます。 |
void |
changeData(java.io.InputStream in)
現在のイメージ情報・パレット情報を、 ストリームで指定された画像データのイメージ情報 ・パレット情報に差し替えます。 |
static PalettedImage |
createPalettedImage(byte[] data)
バイト配列を指定してパレットを設定できるイメージを生成します。 |
static PalettedImage |
createPalettedImage(java.io.InputStream in)
ストリームを指定してパレットを設定できるイメージを生成します。 |
static PalettedImage |
createPalettedImage(int width,
int height)
画像の縦・横サイズのみを指定して、 パレットを設定できる空のイメージを生成します。 |
Graphics |
getGraphics()
このクラスのインスタンスに対して呼び出すことはできません。 |
Palette |
getPalette()
パレットを取得します。 |
int |
getTransparentColor()
このメソッドは呼び出すことはできません。 |
int |
getTransparentIndex()
setTransparentIndex(int)
にて指定されている透過色インデックスを取得します。
|
void |
setPalette(Palette palette)
パレットを設定します。 |
void |
setTransparentColor(int color)
このメソッドは呼び出すことはできません。 |
void |
setTransparentEnabled(boolean enabled)
透過色インデックス指定の有効・無効を設定します。 |
void |
setTransparentIndex(int index)
透過色インデックスを指定します。 |
クラス com.nttdocomo.ui.Image から継承したメソッド |
createImage, createImage, dispose, getAlpha, getHeight, getWidth, setAlpha |
クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
protected PalettedImage()
メソッドの詳細 |
public static PalettedImage createPalettedImage(java.io.InputStream in)
ストリームを指定してパレットを設定できるイメージを生成します。 画像のバイナリデータからイメージ情報とパレット情報が生成されます。 引数に指定できる、画像のバイナリデータの形式は以下の通りです。
イメージ情報は最大 256 色までのインデックスカラー表現で格納され、 描画時にはその時点で設定されているパレット情報を用いて色を復元しながら描画を行います。
パレット情報は、
画像のバイナリデータのヘッダに記録されているカラーテーブルと同順・
同サイズのエントリを持つパレットオブジェクトが生成され、
その中に格納されます。
また、カラーテーブルのサイズは生成された PalettedImage
オブジェクトに記録さます。
以後、色数がこのカラーテーブルのサイズに満たないパレットオブジェクトは
setPalette(Palette)
メソッドで設定することはできません。
引数にアニメーションGIFを指定した場合は、
1 枚目の画像を元にイメージ情報とパレットオブジェクトが生成されます。
また、
引数に指定された画像データが透過 GIF であり、
透過色インデックスが index である場合には、
以下のように振る舞います。
透過色インデックス
も
index に設定され、透過色インデックス指定も有効化
されます。
そうでない場合は、透過色インデックス指定は無効化され、
透過色インデックスには0が設定されます。
in
- イメージのデータを含む入力ストリームを指定します。
画像のバイナリデータをそのまま読み出すことができる入力ストリームを指定します。
NullPointerException
- 引数 in に null が指定された場合に発生します。
UIException
- 引数 in に不正なデータが指定された場合に発生します(UNSUPPORTED_FORMAT)。
public static PalettedImage createPalettedImage(byte[] data)
バイト配列を指定してパレットを設定できるイメージを生成します。 画像のバイナリデータからイメージ情報とパレット情報が生成されます。
引数に指定する画像のバイナリデータがバイト配列である点を除けば、
createPalettedImage(InputStream)
と同様な振る舞いをします。
data
- イメージのデータを含むバイト配列指定します。
画像のバイナリデータがそのまま格納されたバイト配列を指定します。
NullPointerException
- 引数 data に null が指定された場合に発生します。
UIException
- 引数 data に不正なデータが指定された場合に発生します(UNSUPPORTED_FORMAT)。
public static PalettedImage createPalettedImage(int width, int height)
画像の縦・横サイズのみを指定して、 パレットを設定できる空のイメージを生成します。
これによって生成されるイメージは、