Objectcom.nttdocomo.ui.Image
イメージを定義します。 イメージ クラスは、静止画像を表すクラスの抽象クラスです。
[DoJa-1.0 のみ]
dispose メソッドを呼び出した後にそのオブジェクトに対して何らかのメソッドを呼び出した場合や、
このオブジェクトを Graphics クラスの drawImage
メソッドに引数として渡した場合の動作は機種依存です。
[DoJa-2.0 以降]
dispose メソッドを呼び出した後に、そのオブジェクトに対して
dispose 以外のメソッドを呼び出した場合や、
他のクラスのイメージを引数に取るメソッドに引数として渡した場合は例外が発生します。
[DoJa-2.x のみ]
createImage メソッドで生成したイメージを
ImageButton, ImageLabel, AnchorButton にセットした状態で
getGraphics メソッドで取り出した Graphics
オブジェクトで描画した場合にどのタイミングで画面に反映されるかは機種依存です。
[DoJa-3.0 (505i) 以降]
createImage メソッドで生成したイメージを ImageButton, ImageLabel,
AnchorButton にセットした状態で getGraphics メソッドで取り出した Graphics
オブジェクトで描画した場合、
少なくとも以下のタイミングで画面に反映されます。
[DoJa-5.0 (903i) 以降]
透過色指定よる透過イメージの描画や、
α値指定による半透明描画も可能です。
なお、オプション API である
com.nttdocomo.opt.ui.TransparentImage
を利用する場合には、TransparentImage 側では、
このイメージの透過色の有効・無効、透過色指定は無視され、
TransparentImage 側の設定のみが有効となります。
同様に、このイメージのα値指定も無視され、
TransparentImage
側では常に完全不透明(α = 255)なイメージとして扱われます。
[DoJa-5.0 (903i) 以降]
このイメージが透過 GIF から生成されたイメージである場合は、
以下のように振る舞います。
setTransparentEnabled(true)
が呼ばれていない状態。setTransparentEnabled(false)
呼び出しは関係ない。)で、このイメージを描画した場合には、
元々の透過 GIF データで指定されている透過色インデックス
(以降、「オリジナルの透過色インデックス」と呼びます)
が透過して描画されます。
setTransparentEnabled(true)
が呼ばれた時点で、オリジナルの透過色インデックス指定は無効となり、
通常のイメージと同様に setTransparentColor(int)
で指定された色のみが透過して描画されるようになります。
setTransparentEnabled(true)
を呼び出してから
setTransparentEnabled(false)
を呼び出しても、
オリジナルの透過色インデックス指定が復活することはありません。
その場合は透過色なしのイメージとして描画されます。
| コンストラクタの概要 | |
protected |
Image()
アプリケーションが直接このクラスのインスタンスを生成することはできません。 |
| メソッドの概要 | |
static Image |
createImage(int width,
int height)
イメージを新たに生成します。 |
static Image |
createImage(int width,
int height,
int[] data,
int off)
RGB配列を指定してイメージオブジェクトを生成します。 |
abstract void |
dispose()
イメージを破棄します。 |
int |
getAlpha()
この画像に設定されているα値を取得します。 |
Graphics |
getGraphics()
イメージに描画するためのグラフィックスオブジェクトを取得します。 |
int |
getHeight()
イメージの高さを取得します。 |
int |
getTransparentColor()
setTransparentColor(int) にて指定されている透過色を取得します。
|
int |
getWidth()
イメージの幅を取得します。 |
void |
setAlpha(int alpha)
この画像のα値を設定します。 |
void |
setTransparentColor(int color)
透過色を指定します。 |
void |
setTransparentEnabled(boolean enabled)
透過色指定の有効・無効を設定します。 |
| クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
protected Image()
| メソッドの詳細 |
public static Image createImage(int width,
int height)
取り出したイメージオブジェクトに対してgetGraphics()メソッドを実行することができます。
width - 生成するイメージの幅を指定します。height - 生成するイメージの高さを指定します。
IllegalArgumentException - 引数 width, height のどちらかまたは両方に 0 以下の値が指定された場合に発生します。
IllegalArgumentException -
[DoJa-4.0 (901i) 以降]
引数 width が実装がサポートするイメージの幅を超えていた場合や、
引数 height
が実装がサポートするイメージの高さを超えていた場合に発生します。
public static Image createImage(int width,
int height,
int[] data,
int off)
createImage(width, height)でイメージを生成し、
そのイメージのGraphicsオブジェクトに対して
setRGBPixels(0, 0, width, height, data, off)を実行することと同じです。
取り出したイメージオブジェクトに対してgetGraphics()メソッドを実行することができます。
width - イメージの幅を指定します。height - イメージの高さを指定します。data - 書き込むピクセル値の配列を指定します。off - 配列中の開始位置を指定します。
NullPointerException - 引数 data が null の場合に発生します。
IllegalArgumentException - 引数 width、heightのどちらかまたは両方が0以下の場合に発生します。
IllegalArgumentException -
[DoJa-4.0 (901i) 以降]
引数 width が実装がサポートするイメージの幅を超えていた場合や、
引数 height
が実装がサポートするイメージの高さを超えていた場合に発生します。
ArrayIndexOutOfBoundsException - 引数 off が 0未満の場合、
または引数 data のインデックス off 以降の長さがwidth * height より短い場合に発生します。
public int getWidth()
public int getHeight()
public abstract void dispose()
public Graphics getGraphics()
イメージに描画するためのグラフィックスオブジェクトを取得します。
createImage(int, int)
createImage(int, int, int[], int)
で生成されたイメージに対してのみ呼び出すことができます。
取得されたグラフィックスオブジェクトは初期状態になっています。
getGraphics メソッドを呼び出すたびに新しいオブジェクトを生成して返します。
[DoJa-4.0 (901i) 以降]
戻り値として得られるグラフィックスオブジェクトが
Graphics3D
インタフェースを実装しているかどうかは機種依存です。
UnsupportedOperationException - createImage() で生成されたイメージ以外の
イメージに対して呼び出した場合に発生します。
public void setTransparentColor(int color)
透過色指定を有効にするには、別途 setTransparentEnabled(true)
を呼び出す必要があります。
既に setTransparentEnabled(true)
が呼び出されている場合でも、
新しい透過色を有効にしたい場合には、
このメソッド呼び出しの後に、
再度 setTransparentEnabled(true) を呼び出す必要があります。
setTransparentEnabled(true) を呼び出した時点で、
新しい透過色が有効となります。
color - 透過色としたい色を表す値
(Graphics.getColorOfRGB(int, int, int)
などで得られる機種依存の値)
を指定します。
指定した色のα成分がどのような値であっても、
α成分が 255
の色が指定された場合と同様に振る舞います。setTransparentEnabled(boolean)public int getTransparentColor()
setTransparentColor(int) にて指定されている透過色を取得します。
一度も setTransparentColor(int)
が呼び出されていない状態でこのメソッドを呼び出した場合に、
どのような値が取得されるかは機種依存です。
setTransparentColor(int)public void setTransparentEnabled(boolean enabled)
透過色指定の有効・無効を設定します。 高レベル UI、低レベル UI 問わずに、本指定は有効に機能します。
このメソッド呼び出しの時点で、
getTransparentColor()
呼び出しによって得られる透過色が透過となります。
このメソッド呼び出しの後で setTransparentColor(int)
を呼び出しても、即座に透過色は変更されません。
再度このメソッドを呼び出した時点で、透過色の変更が反映されます。
なお、透過色指定が有効なイメージに対して
(getGraphics() で取得したグラフィックスコンテキストの
描画メソッドを呼び出して)描画を行った場合、
透過色指定は自動的に無効となりますので注意してください。
enabled - 透過色指定の有効にしたい場合は true を、
無効にしたい場合は false を指定します。setTransparentColor(int),
getTransparentColor()public void setAlpha(int alpha)
この画像のα値を設定します。設定可能な値は 0 以上 255 以下です。
この画像を Graphics.drawImage(Image, int, int) などの、
低レベル UI の画像描画メソッドで描画すると、
画像の各画素が、
設定された(均一の)α値にもとづいて、半透明描画されます。
なお、透過色指定が有効に設定されている場合は、
透過色に指定されている画素については影響ありません
(常にα値0の画素として描画されます)。
同様に、 この画像を、高レベル UI コンポーネントとして利用した場合も、 設定された(均一の)α値にもとづいて半透明描画されます。
alpha - この画像のα値を指定します。
0 を指定すると完全に透明になり、
255 を指定すると、完全に不透明になります。
IllegalArgumentException - 引数 alpha に 0 未満の値、
または、256 以上の値が指定された場合に発生します。
public int getAlpha()
この画像に設定されているα値を取得します。
setAlpha(int) で指定された値を取得します。
一度も setAlpha(int) が呼び出されていない状態では、
255 が返されます。