com.nttdocomo.ui
クラス Image

Object
  拡張com.nttdocomo.ui.Image
直系の既知のサブクラス:
PalettedImage

public abstract class Image
extends Object

イメージを定義します。 イメージ クラスは、静止画像を表すクラスの抽象クラスです。

[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 から生成されたイメージである場合は、 以下のように振る舞います。


コンストラクタの概要
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
 

コンストラクタの詳細

Image

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

メソッドの詳細

createImage

public static Image createImage(int width,
                                int height)
イメージを新たに生成します。 生成されたイメージの画素は、Canvas のデフォルトの背景色と同じ色で埋められています。

取り出したイメージオブジェクトに対してgetGraphics()メソッドを実行することができます。

パラメータ:
width - 生成するイメージの幅を指定します。
height - 生成するイメージの高さを指定します。
戻り値:
生成されたイメージを返します。
例外:
IllegalArgumentException - 引数 width, height のどちらかまたは両方に 0 以下の値が指定された場合に発生します。
IllegalArgumentException - [DoJa-4.0 (901i) 以降] 引数 width が実装がサポートするイメージの幅を超えていた場合や、 引数 height が実装がサポートするイメージの高さを超えていた場合に発生します。
導入されたバージョン:
DoJa-2.0

createImage

public static Image createImage(int width,
                                int height,
                                int[] data,
                                int off)
RGB配列を指定してイメージオブジェクトを生成します。

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 より短い場合に発生します。
導入されたバージョン:
DoJa-3.0 (505i)

getWidth

public int getWidth()
イメージの幅を取得します。

戻り値:
イメージの幅を返します。
例外:
UIException - 既に dispose されているオブジェクトに対して呼ばれた場合に発生します(ILLEGAL_STATE)。

getHeight

public int getHeight()
イメージの高さを取得します。

戻り値:
イメージの高さを返します。
例外:
UIException - 既に dispose されているオブジェクトに対して呼ばれた場合に発生します(ILLEGAL_STATE)。

dispose

public abstract void dispose()
イメージを破棄します。
[DoJa-1.0 のみ]
このメソッドを呼び出した後にこのオブジェクトにアクセスした場合の振舞は機種依存です。
[DoJa-2.0 以降]
このメソッドを呼び出した後に dispose 以外のメソッドを呼び出した場合は UIException が発生します(ILLEGAL_STATE)。 このメソッドを呼び出した後に dispose メソッドを呼び出した場合は何もしません。


getGraphics

public Graphics getGraphics()

イメージに描画するためのグラフィックスオブジェクトを取得します。 createImage(int, int) createImage(int, int, int[], int) で生成されたイメージに対してのみ呼び出すことができます。 取得されたグラフィックスオブジェクトは初期状態になっています。 getGraphics メソッドを呼び出すたびに新しいオブジェクトを生成して返します。

[DoJa-4.0 (901i) 以降]
戻り値として得られるグラフィックスオブジェクトが Graphics3D インタフェースを実装しているかどうかは機種依存です。

戻り値:
イメージに描画するためのグラフィックスオブジェクトを返します。
例外:
UnsupportedOperationException - createImage() で生成されたイメージ以外の イメージに対して呼び出した場合に発生します。
UIException - 既に dispose されているオブジェクトに対して呼ばれた場合に発生します(ILLEGAL_STATE)。
導入されたバージョン:
DoJa-2.0

setTransparentColor

public void setTransparentColor(int color)
透過色を指定します。

透過色指定を有効にするには、別途 setTransparentEnabled(true) を呼び出す必要があります。

既に setTransparentEnabled(true) が呼び出されている場合でも、 新しい透過色を有効にしたい場合には、 このメソッド呼び出しの後に、 再度 setTransparentEnabled(true) を呼び出す必要があります。 setTransparentEnabled(true) を呼び出した時点で、 新しい透過色が有効となります。

パラメータ:
color - 透過色としたい色を表す値 (Graphics.getColorOfRGB(int, int, int) などで得られる機種依存の値) を指定します。 指定した色のα成分がどのような値であっても、 α成分が 255 の色が指定された場合と同様に振る舞います。
例外:
UIException - 既に dispose されているオブジェクトに対して呼ばれた場合に発生します(ILLEGAL_STATE)。
関連項目:
setTransparentEnabled(boolean)

getTransparentColor

public int getTransparentColor()

setTransparentColor(int) にて指定されている透過色を取得します。

一度も setTransparentColor(int) が呼び出されていない状態でこのメソッドを呼び出した場合に、 どのような値が取得されるかは機種依存です。

戻り値:
透過色として設定されている値を返します。
例外:
UIException - 既に dispose されているオブジェクトに対して呼ばれた場合に発生します(ILLEGAL_STATE)。
関連項目:
setTransparentColor(int)

setTransparentEnabled

public void setTransparentEnabled(boolean enabled)

透過色指定の有効・無効を設定します。 高レベル UI、低レベル UI 問わずに、本指定は有効に機能します。

このメソッド呼び出しの時点で、 getTransparentColor() 呼び出しによって得られる透過色が透過となります。 このメソッド呼び出しの後で setTransparentColor(int) を呼び出しても、即座に透過色は変更されません。 再度このメソッドを呼び出した時点で、透過色の変更が反映されます。

なお、透過色指定が有効なイメージに対して (getGraphics() で取得したグラフィックスコンテキストの 描画メソッドを呼び出して)描画を行った場合、 透過色指定は自動的に無効となりますので注意してください。

パラメータ:
enabled - 透過色指定の有効にしたい場合は true を、 無効にしたい場合は false を指定します。
例外:
UIException - 既に dispose されているオブジェクトに対して呼ばれた場合に発生します(ILLEGAL_STATE)。
関連項目:
setTransparentColor(int), getTransparentColor()

setAlpha

public void setAlpha(int alpha)

この画像のα値を設定します。設定可能な値は 0 以上 255 以下です。

この画像を Graphics.drawImage(Image, int, int) などの、 低レベル UI の画像描画メソッドで描画すると、 画像の各画素が、 設定された(均一の)α値にもとづいて、半透明描画されます。 なお、透過色指定が有効に設定されている場合は、 透過色に指定されている画素については影響ありません (常にα値0の画素として描画されます)。

同様に、 この画像を、高レベル UI コンポーネントとして利用した場合も、 設定された(均一の)α値にもとづいて半透明描画されます。

パラメータ:
alpha - この画像のα値を指定します。 0 を指定すると完全に透明になり、 255 を指定すると、完全に不透明になります。
例外:
UIException - 既に dispose されているオブジェクトに対して呼ばれた場合に発生します(ILLEGAL_STATE)。
IllegalArgumentException - 引数 alpha に 0 未満の値、 または、256 以上の値が指定された場合に発生します。

getAlpha

public int getAlpha()

この画像に設定されているα値を取得します。

setAlpha(int) で指定された値を取得します。 一度も setAlpha(int) が呼び出されていない状態では、 255 が返されます。

戻り値:
この画像に設定されているα値を返します。
例外:
UIException - 既に dispose されているオブジェクトに対して呼ばれた場合に発生します(ILLEGAL_STATE)。