|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.docomostar.ui.Image
public abstract class Image
イメージを定義します。 イメージ クラスは、静止画像を表すクラスの抽象クラスです。
dispose メソッドを呼び出した後に、そのオブジェクトに対して dispose 以外のメソッドを呼び出した場合や、 他のクラスのイメージを引数に取るメソッドに引数として渡した場合は例外が発生します。createImage メソッドで生成したイメージを ImageButton, ImageLabel, AnchorButton にセットした状態で getGraphics メソッドで取り出した Graphics オブジェクトで描画した場合、 少なくとも以下のタイミングで画面に反映されます。
透過色指定よる透過イメージの描画や、 α値指定による半透明描画も可能です。
このイメージが透過 GIF から生成されたイメージである場合は、 以下のように振る舞います。
setTransparentEnabled(true)
が呼ばれていない状態。setTransparentEnabled(false)
呼び出しは関係ない。)で、このイメージを描画した場合には、
元々の透過 GIF データで指定されている透過色インデックス
(以降、「オリジナルの透過色インデックス」と呼びます)
が透過して描画されます。
setTransparentEnabled(true)
が呼ばれた時点で、オリジナルの透過色インデックス指定は無効となり、
通常のイメージと同様に setTransparentColor(int)
で指定された色のみが透過して描画されるようになります。
setTransparentEnabled(true)
を呼び出してから
setTransparentEnabled(false)
を呼び出しても、
オリジナルの透過色インデックス指定が復活することはありません。
その場合は透過色なしのイメージとして描画されます。
[Star-2.0 以降]
このイメージが透過 PNG から生成されたイメージである場合は、
PNG のカラータイプごとに以下のように振る舞います。
setTransparentEnabled(true)
が呼ばれていない状態。setTransparentEnabled(false)
呼び出しは関係ない。)で、このイメージを描画した場合には、
元々の PNG データで指定されている tRNS チャンク
(以降、「オリジナルの tRNS チャンク」と呼びます)の指定通りに透過して描画されます。
setTransparentEnabled(true)
が呼ばれた時点で、オリジナルの tRNS チャンクは無効となり、
通常のイメージと同様に setTransparentColor(int)
で指定された色のみが透過して描画されるようになります。
setTransparentEnabled(true)
を呼び出してから
setTransparentEnabled(false)
を呼び出しても、
オリジナルの tRNS チャンク指定が復活することはありません。
その場合は透過色なしのイメージとして描画されます。
setAlpha(int)
によって α 値が変更されていない状態)で、
このイメージを描画した場合、元々の PNG データで指定されている α チャンネルや
tRNS チャンクの指定通りに透過して描画されます。
コンストラクタの概要 | |
---|---|
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
-
IllegalArgumentException
-
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
-
IllegalArgumentException
-
IllegalArgumentException
-
ArrayIndexOutOfBoundsException
-
public int getWidth()
UIException
- public int getHeight()
UIException
- public abstract void dispose()
このメソッドを呼び出した後に dispose 以外のメソッドを呼び出した場合は UIException が発生します(ILLEGAL_STATE)。 このメソッドを呼び出した後に dispose メソッドを呼び出した場合は何もしません。
public Graphics getGraphics()
イメージに描画するためのグラフィックスオブジェクトを取得します。
createImage(int, int)
createImage(int, int, int[], int)
で生成されたイメージに対してのみ呼び出すことができます。
取得されたグラフィックスオブジェクトは初期状態になっています。
getGraphics メソッドを呼び出すたびに新しいオブジェクトを生成して返します。
戻り値として得られるグラフィックスオブジェクトが
Graphics3D
インタフェースを実装しているかどうかは機種依存です。
UnsupportedOperationException
-
UIException
- 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
- UIException
- public int getTransparentColor()
setTransparentColor(int)
にて指定されている透過色を取得します。
一度も setTransparentColor(int)
が呼び出されていない状態でこのメソッドを呼び出した場合に、
どのような値が取得されるかは機種依存です。
setTransparentColor(int)
UIException
- UIException
- public void setTransparentEnabled(boolean enabled)
透過色指定の有効・無効を設定します。 高レベル UI、低レベル UI 問わずに、本指定は有効に機能します。
このメソッド呼び出しの時点で、
getTransparentColor()
呼び出しによって得られる透過色が透過となります。
このメソッド呼び出しの後で setTransparentColor(int)
を呼び出しても、即座に透過色は変更されません。
再度このメソッドを呼び出した時点で、透過色の変更が反映されます。
なお、透過色指定が有効なイメージに対して
(getGraphics()
で取得したグラフィックスコンテキストの
描画メソッドを呼び出して)描画を行った場合、
透過色指定は自動的に無効となりますので注意してください。
enabled
- 透過色指定の有効にしたい場合は true を、
無効にしたい場合は false を指定します。setTransparentColor(int)
,
getTransparentColor()
UIException
- UIException
-