com.nttdocomo.ui
クラス Graphics

Object
  拡張com.nttdocomo.ui.Graphics

public class Graphics
extends Object

グラフィックス クラスです。 キャンバスおよびイメージに対応するグラフィックスコンテキストを表します。

ダブルバッファリングを行うための lock(), unlock(boolean)メソッドは、かならず組みで使用してください。 Canvas.paint(Graphics)メソッド内でlock()メソッドを呼び出した場合、 必ずそのメソッド内で unlock(boolean)メソッドを呼び出してください。 バッファがフラッシュされていない状態でフレームが切り替わり、 再びキャンバスが表示されたときの状態は、機種依存になります。 なお、典型的な実装では、Canvas.paint(Graphics)メソッドが呼ばれた直後にバッファがフラッシュされます。

このクラスが仮定している座標平面と、 現実に存在する出力デバイスとの対応は、 J2SE の Graphics クラスの規定に準拠します。特に、前提として、

という点を理解しておく必要があります。 以下に、それぞれのグループの描画規則について説明します。

図形の輪郭を描く操作:
[図] 1辺の長さは、引数に指定した width、height よりも、それぞれ1ピクセル長くなる。 無限に細い輪郭線の上を、 あたかも太さ1ピクセルのペンでなぞったように描画されます。 その時、ペン先は、常に輪郭線上の右下に位置しています。 例えば、原点を変更していない場合、 drawRect(int x, int y, int width, int height) は、横方向には x 番目から x + width 番目のピクセル (width + 1 個) が描画され、縦方向には y 番目から y + height 番目のピクセル (height + 1個) が描画されることになります(x、y は 0 から数える)。
図形の内部を埋める操作:
[図] 1辺の長さは、引数に指定した width、height と同じピクセル数となる。 無限に細い輪郭線の内部を塗り潰します。 例えば、原点を変更していない場合、 fillRect(int x, int y, int width, int height) は、横方向には x 番目から x + width - 1 番目のピクセル (width 個) が塗り潰され、縦方向には y 番目から y + height - 1 番目のピクセル (height 個) が塗り潰されることになります(x、y は 0 から数える)。
水平の文字をレンダリングする操作:
無限に細いベースラインよりも上にアセンダ全体が収まり、 ベースラインよりも下にはみ出るのはディセンダ部のみです。 従って、「A」のように、ディセンダ部分の存在しない文字グリフの場合、 文字全体が、無限に細いベースラインよりも上に描画されます。

[DoJa-4.0 (901i) 以降]
getColorOfRGB(int, int, int, int) により得られる半透明色を setColor(int) に設定することによって、 一部のメソッドで 半透明描画を行うことができます。

ミニマムスペック:


フィールドの概要
static int AQUA
          水色を表す色の名前です (=3)。
static int BLACK
          黒色を表す色の名前です (=0)。
static int BLUE
          青色を表す色の名前です (=1)。
static int FLIP_HORIZONTAL
           イメージ描画時の反転方法のうち、横方向に鏡像反転することを表します(=1)。
static int FLIP_NONE
           イメージ描画時の反転方法のうち、反転しないことを表します(=0)。
static int FLIP_ROTATE
           イメージ描画時の反転方法のうち、縦横方向に鏡像反転(180度回転)することを表します(=3)。
static int FLIP_ROTATE_LEFT
           イメージ描画時の反転方法のうち、左に90度回転することを表します(=4)。
static int FLIP_ROTATE_RIGHT
           イメージ描画時の反転方法のうち、右に90度回転することを表します(=5)。
static int FLIP_ROTATE_RIGHT_HORIZONTAL
          イメージ描画時の反転方法のうち、右に90度回転し、 横方向に鏡像反転することを表します(=6)。
static int FLIP_ROTATE_RIGHT_VERTICAL
          イメージ描画時の反転方法のうち、右に90度回転し、 縦方向に鏡像反転することを表します(=7)。
static int FLIP_VERTICAL
           イメージ描画時の反転方法のうち、縦方向に鏡像反転することを表します(=2)。
static int FUCHSIA
          紫色を表す色の名前です (=5)。
static int GRAY
          灰色を表す色の名前です (=8)。
static int GREEN
          暗い緑色を表す色の名前です (=10)。
static int LIME
          緑色を表す色の名前です (=2)。
static int MAROON
          暗い赤色を表す色の名前です (=12)。
static int NAVY
          暗い青色を表す色の名前です (=9)。
static int OLIVE
          暗い黄色を表す色の名前です (=14)。
static int PURPLE
          暗い紫色を表す色の名前です (=13)。
static int RED
          赤色を表す色の名前です (=4)。
static int SILVER
          銀色を表す色の名前です (=15)。
static int TEAL
          暗い水色を表す色の名前です (=11)。
static int WHITE
          白色を表す色の名前です (=7)。
static int YELLOW
          黄色を表す色の名前です (=6)。
 
コンストラクタの概要
protected Graphics()
          アプリケーションが直接このクラスのインスタンスを生成することはできません。
 
メソッドの概要
 void clearClip()
           現在設定されているクリッピング領域を解除します。
 void clearRect(int x, int y, int width, int height)
          矩形領域を背景色で塗りつぶします。
 void clipRect(int x, int y, int width, int height)
           現在のクリッピング領域と引数によって指定された矩形との積(Intersection)を とって、クリッピング領域として設定します。
 Graphics copy()
          グラフィクスオブジェクトのコピーを生成します。
 void copyArea(int x, int y, int width, int height, int dx, int dy)
           矩形領域を、dx と dy で指定された距離でコピーします。
 void dispose()
          グラフィックスコンテキストを破棄します。
 void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
           弧を描画します。
 void drawChars(char[] data, int x, int y, int off, int len)
          文字列の一部を描画します。
 void drawImage(Image image, int[] matrix)
           イメージに 2 次元のアフィン変換をかけて描画します。
 void drawImage(Image image, int[] matrix, int sx, int sy, int width, int height)
           イメージの一部に 2 次元のアフィン変換をかけて描画します。
 void drawImage(Image image, int x, int y)
          イメージを描画します。
 void drawImage(Image image, int dx, int dy, int sx, int sy, int width, int height)
           イメージの一部を描画します。
 void drawImageMap(ImageMap map, int x, int y)
           イメージマップを描画します。
 void drawLine(int x1, int y1, int x2, int y2)
          直線を描画します。
 void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
          指定された点を結ぶ線分を描画します。
 void drawPolyline(int[] xPoints, int[] yPoints, int offset, int count)
           指定された点を結ぶ線分を描画します。
 void drawRect(int x, int y, int width, int height)
          矩形を描画します。
 void drawScaledImage(Image image, int dx, int dy, int width, int height, int sx, int sy, int swidth, int sheight)
           イメージを拡大・縮小して描画します。
 void drawSpriteSet(SpriteSet sprites)
           スプライトセットを描画します。
 void drawSpriteSet(SpriteSet sprites, int offset, int count)
           スプライトセットの一部を描画します。
 void dra HREF="../../../com/nttdocomo/ui/Image.html" title="com.nttdocomo.ui 蜀