com.docomostar.ui
クラス Image

Object
  上位を拡張 com.docomostar.ui.Image
直系の既知のサブクラス:
PalettedImage

public abstract class Image
extends Object

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

dispose メソッドを呼び出した後に、そのオブジェクトに対して dispose 以外のメソッドを呼び出した場合や、 他のクラスのイメージを引数に取るメソッドに引数として渡した場合は例外が発生します。

createImage メソッドで生成したイメージを ImageButton, ImageLabel, AnchorButton にセットした状態で getGraphics メソッドで取り出した Graphics オブジェクトで描画した場合、 少なくとも以下のタイミングで画面に反映されます。

透過色指定よる透過イメージの描画や、 α値指定による半透明描画も可能です。

このイメージが透過 GIF から生成されたイメージである場合は、 以下のように振る舞います。

[Star-2.0 以降]
このイメージが透過 PNG から生成されたイメージである場合は、 PNG のカラータイプごとに以下のように振る舞います。

カラータイプが 0 かつ tRNS チャンク指定がありの場合:
カラータイプが 2 かつ tRNS チャンク指定がありの場合:
カラータイプが 3 かつ tRNS チャンク指定がありの場合:
カラータイプが 4 の場合:
カラータイプが 6 の場合:

導入されたバージョン:
Star-1.0

コンストラクタの概要
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 -
引数 width が実装がサポートするイメージの幅を超えていた場合や、 引数 height が実装がサポートするイメージの高さを超えていた場合に発生します。

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 -
引数 width が実装がサポートするイメージの幅を超えていた場合や、 引数 height が実装がサポートするイメージの高さを超えていた場合に発生します。
ArrayIndexOutOfBoundsException -
引数 off が 0未満の場合、 または引数 data のインデックス off 以降の長さがwidth * height より短い場合に発生します。

getWidth

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

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

getHeight

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

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

dispose

public abstract void dispose()
イメージを破棄します。

このメソッドを呼び出した後に dispose 以外のメソッドを呼び出した場合は UIException が発生します(ILLEGAL_STATE)。 このメソッドを呼び出した後に dispose メソッドを呼び出した場合は何もしません。


getGraphics

public Graphics getGraphics()

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

戻り値として得られるグラフィックスオブジェクトが Graphics3D インタフェースを実装しているかどうかは機種依存です。

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

setTransparentColor

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

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

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

[Star-2.0 以降]
このイメージが PNG から生成されている場合、 以下のカラータイプについては上記と同様に振る舞います。

パラメータ:
color - 透過色としたい色を表す値 (Graphics.getColorOfRGB(int, int, int) などで得られる機種依存の値) を指定します。 指定した色のα成分がどのような値であっても、 α成分が 255 の色が指定された場合と同様に振る舞います。
関連項目:
setTransparentEnabled(boolean)
例外:
UIException -
(ILLEGAL_STATE)
既に dispose されているオブジェクトに対して呼ばれた場合に発生します。
UIException -
(UNSUPPORTED_FORMAT)
[Star-2.0 以降] このメソッドを用いて透過色の指定を行うことができないイメージの場合に発生します。
透過色の指定を行うことができないイメージの詳細については、クラス説明を参照して下さい。

getTransparentColor

public int getTransparentColor()

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

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

戻り値:
透過色として設定されている値を返します。
関連項目:
setTransparentColor(int)
例外:
UIException -
(ILLEGAL_STATE)
既に dispose されているオブジェクトに対して呼ばれた場合に発生します。
UIException -
(UNSUPPORTED_FORMAT)
[Star-2.0 以降] このメソッドを用いて透過色の取得を行うことができないイメージの場合に発生します。
透過色の取得を行うことができないイメージの詳細については、クラス説明を参照して下さい。

setTransparentEnabled

public void setTransparentEnabled(boolean enabled)

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

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

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

パラメータ:
enabled - 透過色指定の有効にしたい場合は true を、 無効にしたい場合は false を指定します。
関連項目:
setTransparentColor(int), getTransparentColor()
例外:
UIException -
(ILLEGAL_STATE)
既に dispose されているオブジェクトに対して呼ばれた場合に発生します。
UIException -
(UNSUPPORTED_FORMAT)
[Star-2.0 以降] このメソッドを用いて透過色指定の有効・無効化を行うことができないイメージの場合に発生します。
透過色指定の有効・無効化を行うことができないイメージの詳細については、クラス説明を参照して下さい。
setTransparentColor(int) 縺悟他縺ウ蜃コ縺輔l縺ヲ縺