|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--com.j_phone.util.GraphicsUtil
拡張描画機能を提供するクラスです。
ピクセル単位の描画、ピクセルの色の取得、およびイメージの任意の領域を回転、反転して描画する機能を提供します。
このクラスでは、Image または Canvas オブジェクトを描画対象とする Graphics オブジェクトを操作の対象としています。
ただし、getPixel()
メソッドは、Image オブジェクトを描画対象とする Graphics オブジェクトだけが対象となります。
フィールドの概要 | |
static int |
STRETCH_QUALITY_HIGH
drawRegion() に指定する伸縮の質で、伸縮速度よりも画質優先であることを示します。 |
static int |
STRETCH_QUALITY_LOW
drawRegion() に指定する伸縮の質で、画質よりも伸縮速度優先であることを示します。 |
static int |
STRETCH_QUALITY_NORMAL
drawRegion() に指定する伸縮の質で、伸縮速度、画質ともに平均的であることを示します。 |
static int |
TRANS_MIRROR
drawRegion() に指定する変換の種類で、左右反転であることを示します。 |
static int |
TRANS_MIRROR_ROT180
drawRegion() に指定する変換の種類で、左右反転後に時計回りに180度回転であることを示します。 |
static int |
TRANS_MIRROR_ROT270
drawRegion() に指定する変換の種類で、左右反転後に時計回りに270度回転であることを示します。 |
static int |
TRANS_MIRROR_ROT90
drawRegion() に指定する変換の種類で、左右反転後に時計回りに90度回転であることを示します。 |
static int |
TRANS_NONE
drawRegion() に指定する変換の種類で、無変換であることを示します。 |
static int |
TRANS_ROT180
drawRegion() に指定する変換の種類で、時計回りに180度回転であることを示します。 |
static int |
TRANS_ROT270
drawRegion() に指定する変換の種類で、時計回りに270度回転であることを示します。 |
static int |
TRANS_ROT90
drawRegion() に指定する変換の種類で、時計回りに90度回転であることを示します。 |
メソッドの概要 | |
static void |
drawPseudoTransparentImage(javax.microedition.lcdui.Graphics g,
javax.microedition.lcdui.Image src,
int x_dest,
int y_dest,
int anchor,
short mask_pattern,
int element_size)
Image オブジェクトに透過マスクパターンをタイルして描画します。 |
static void |
drawRegion(javax.microedition.lcdui.Graphics g,
javax.microedition.lcdui.Image src,
int x_src,
int y_src,
int width,
int height,
int transform,
int x_dest,
int y_dest,
int anchor)
Image オブジェクト内の矩形領域をコピーします。 |
static void |
drawRegion(javax.microedition.lcdui.Graphics g,
javax.microedition.lcdui.Image src,
int x_src,
int y_src,
int width,
int height,
int transform,
int x_dest,
int y_dest,
int width_dest,
int height_dest,
int anchor,
int stretch_quality)
Image オブジェクト内の矩形領域を伸縮してコピーします。 |
static int |
getPixel(javax.microedition.lcdui.Graphics g,
int x,
int y)
座標(x, y)のピクセルの色を取得します。 |
static void |
setPixel(javax.microedition.lcdui.Graphics g,
int x,
int y)
ピクセルを描画します。 |
static void |
setPixel(javax.microedition.lcdui.Graphics g,
int x,
int y,
int color)
ピクセルを描画します。 |
クラス java.lang.Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final int TRANS_NONE
drawRegion()
に指定する変換の種類で、無変換であることを示します。public static final int TRANS_ROT90
drawRegion()
に指定する変換の種類で、時計回りに90度回転であることを示します。public static final int TRANS_ROT180
drawRegion()
に指定する変換の種類で、時計回りに180度回転であることを示します。public static final int TRANS_ROT270
drawRegion()
に指定する変換の種類で、時計回りに270度回転であることを示します。public static final int TRANS_MIRROR
drawRegion()
に指定する変換の種類で、左右反転であることを示します。public static final int TRANS_MIRROR_ROT90
drawRegion()
に指定する変換の種類で、左右反転後に時計回りに90度回転であることを示します。public static final int TRANS_MIRROR_ROT180
drawRegion()
に指定する変換の種類で、左右反転後に時計回りに180度回転であることを示します。public static final int TRANS_MIRROR_ROT270
drawRegion()
に指定する変換の種類で、左右反転後に時計回りに270度回転であることを示します。public static final int STRETCH_QUALITY_NORMAL
drawRegion()
に指定する伸縮の質で、伸縮速度、画質ともに平均的であることを示します。実際の画質と伸縮速度はネイティブシステムに依存します。public static final int STRETCH_QUALITY_LOW
drawRegion()
に指定する伸縮の質で、画質よりも伸縮速度優先であることを示します。実際の画質と伸縮速度はネイティブシステムに依存します。public static final int STRETCH_QUALITY_HIGH
drawRegion()
に指定する伸縮の質で、伸縮速度よりも画質優先であることを示します。実際の画質と伸縮速度はネイティブシステムに依存します。メソッドの詳細 |
public static int getPixel(javax.microedition.lcdui.Graphics g, int x, int y)
g
- 描画対象のGraphicsオブジェクトx
- ピクセルのx座標y
- ピクセルのy座標0x00RRGGBB
の形式で返す。Image オブジェクトの領域外の座標が指定された場合は 0x00000000
を返す。NullPointerException
- 引数 g
が null
の場合に発生するSecurityException
- 引数 g
が Canvas オブジェクトを描画対象とする Graphics オブジェクトの場合に発生するpublic static void setPixel(javax.microedition.lcdui.Graphics g, int x, int y)
Image または Canvas オブジェクトの領域外の座標が指定された場合、 または Graphics オブジェクトに設定されているクリップ領域外の座標が指定された場合、このメソッドは何もしません。
g
- 描画対象のGraphicsオブジェクトx
- ピクセルのx座標y
- ピクセルのy座標NullPointerException
- 引数 g
が null
の場合に発生するpublic static void setPixel(javax.microedition.lcdui.Graphics g, int x, int y, int color)
color
に指定された色で描画します。
Image または Canvas オブジェクトの領域外の座標が指定された場合、 または Graphics オブジェクトに設定されているクリップ領域外の座標が指定された場合、このメソッドは何もしません。
g
- 描画対象のGraphicsオブジェクトx
- ピクセルのx座標y
- ピクセルのy座標color
- ピクセルの色。0x00RRGGBB
の形式で指定する。ビット31〜24の値は無視される。NullPointerException
- 引数 g
が null
の場合に発生するpublic static void drawRegion(javax.microedition.lcdui.Graphics g, javax.microedition.lcdui.Image src, int x_src, int y_src, int width, int height, int transform, int x_dest, int y_dest, int anchor)
引数 src
に指定された Image オブジェクト内の矩形領域を、
引数 g
に指定された Graphics オブジェクトに描画します。
描画する際、引数 transform
に指定された変換を行って、コピー先の指定された座標に描画します。
コピー先の位置は、javax.microedition.lcdui.Graphics クラスと同様にアンカーポイントを指定することができます。
図1に、transformにTRANS_ROT270
、anchorにTOP|LEFTが指定された場合の動作例を示します。
図1. drawRegion()の動作例
コピー元の領域が Image オブジェクト外の領域を含む場合は、Image オブジェクト外の領域に対応するコピー先の領域には何も描画されません。
コピー先の領域が Graphics オブジェクトに設定されているクリップ領域外を含む場合は、クリップ領域外には何も描画されません。
g
- コピー先の Graphics オブジェクトsrc
- コピー元の Image オブジェクトx_src
- コピー元の矩形領域の左上のx座標y_src
- コピー元の矩形領域の左上のy座標width
- コピー元の矩形領域の幅height
- コピー元の矩形領域の高さtransform
- 変換の種類として以下のどれかを指定する
TRANS_NONE
TRANS_ROT90
TRANS_ROT180
TRANS_ROT270
TRANS_MIRROR
TRANS_MIRROR_ROT90
TRANS_MIRROR_ROT180
TRANS_MIRROR_ROT270
x_dest
- コピー先のx座標y_dest
- コピー先のy座標anchor
- コピー先の位置を示すアンカーポイント。javax.microedition.lcdui.Graphicsクラスでアンカーポイントとして定義されている値を指定する。NullPointerException
- 引数g
または src
が null
の場合に発生するjava.lang.IllegalArgumentException
- 引数 transform
が不正な場合、
または引数 anchor
が javax.microedition.lcdui.Graphicsクラスで定義されているアンカーポイント以外の場合に発生するpublic static void drawRegion(javax.microedition.lcdui.Graphics g, javax.microedition.lcdui.Image src, int x_src, int y_src, int width, int height, int transform, int x_dest, int y_dest, int width_dest, int height_dest, int anchor, int stretch_quality)
引数 src
に指定された Image オブジェクト内の矩形領域を、
引数 g
に指定された Graphics オブジェクトに描画します。
描画する際、引数 transform
に指定された変換を行って、コピー先の指定された座標に描画します。
コピー先の位置は、javax.microedition.lcdui.Graphics クラスと同様にアンカーポイントを指定することができます。
Image オブジェクト内の矩形領域は transform
に指定された変換を行ってから、
コピー先の矩形領域の幅と高さに伸縮されて描画されます。
伸縮の質として STRETCH_QUALITY_LOW
、STRETCH_QUALITY_NORMAL
、STRETCH_QUALITY_HIGH
のいずれかを指定することができます。
図1に、transformにTRANS_ROT270
、anchorにTOP|LEFTが指定された場合の動作例を示します。
図1. drawRegion()の動作例
コピー元の領域が Image オブジェクト外の領域を含む場合は、Image オブジェクト外の領域に対応するコピー先の領域には何も描画されません。
コピー先の領域が Graphics オブジェクトに設定されているクリップ領域外を含む場合は、クリップ領域外には何も描画されません。
g
- コピー先の Graphics オブジェクトsrc
- コピー元の Image オブジェクトx_src
- コピー元の矩形領域の左上のx座標y_src
- コピー元の矩形領域の左上のy座標width
- コピー元の矩形領域の幅height
- コピー元の矩形領域の高さtransform
- 変換の種類として以下のどれかを指定する
TRANS_NONE
TRANS_ROT90
TRANS_ROT180
TRANS_ROT270
TRANS_MIRROR
TRANS_MIRROR_ROT90
TRANS_MIRROR_ROT180
TRANS_MIRROR_ROT270
x_dest
- コピー先のx座標y_dest
- コピー先のy座標width_dest
- コピー先の矩形領域の幅height_dest
- コピー先の矩形領域の高さanchor
- コピー先の位置を示すアンカーポイント。javax.microedition.lcdui.Graphicsクラスでアンカーポイントとして定義されている値を指定する。stretch_quality
- 伸縮の質。STRETCH_QUALITY_LOW
、STRETCH_QUALITY_NORMAL
、STRETCH_QUALITY_HIGH
のいずれかを指定するNullPointerException
- 引数 g
または src
が null
の場合に発生するjava.lang.IllegalArgumentException
- 引数 transform
が不正な場合、
または引数 anchor
が javax.microedition.lcdui.Graphicsクラスで定義されているアンカーポイント以外の場合に発生する
または引数 stretch_quality
が STRETCH_QUALITY_LOW
、STRETCH_QUALITY_NORMAL
、STRETCH_QUALITY_HIGH
のいずれか以外の場合に発生するpublic static void drawPseudoTransparentImage(javax.microedition.lcdui.Graphics g, javax.microedition.lcdui.Image src, int x_dest, int y_dest, int anchor, short mask_pattern, int element_size)
引数 src
に指定された Image オブジェクトに対して透過マスクパターンを全面に
タイルした擬似半透明画像を、
引数 g
に指定された Graphics オブジェクトに描画します。
図1に透過マスクパターンの要素と引数 mask_pattern
のビット位置の対応を示します。
図1. 透過マスクパターンの要素とmask_patternのビット位置の対応
透過マスクパターンは4要素×4要素の計16要素で、各要素は左から右、上から下方向に並びます。 左上がビット15、右下がビット0を表します。 ビットの値が 1 の場合は透過、 0 の場合は非透過を表します。
図2に mask_pattern
が0xce70の場合の透過マスクパターンを示します。
透が透過、■が非透過を表します。
図2. 透過マスクパターンの例
引数 element_size
は、透過マスクパターンの 1 要素のサイズです。
たとえば、 3 が指定された場合は透過マスクパターンの 1 要素を 3 ピクセル四方とします。
描画先の領域が Graphics オブジェクトに設定されているクリップ領域外を含む場合は、クリップ領域外には何も描画されません。
図3にx_dest、y_destに 0 、anchorに TOP|LEFT が指定された場合の描画例を示します。
図3. drawPseudoTransparentImage 描画例
g
- 描画先の Graphics オブジェクトsrc
- 透過マスクパターンを適用する Image オブジェクトx_dest
- 描画先のx座標y_dest
- 描画先のy座標anchor
- 描画先の位置を示すアンカーポイント。
javax.microedition.lcdui.Graphicsクラスでアンカーポイントとして定義されている値を指定する。mask_pattern
- 透過マスクパターン。ビット値(0x0000 〜 0xffff)で指定する。element_size
- 透過マスクパターンの1要素のサイズ(単位はピクセル)。1 以上の値を指定する。NullPointerException
- 引数 g
または src
が null
の場合に発生するjava.lang.IllegalArgumentException
- 引数 element_size
が 0 以下または240よりも大きい場合
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |