Unofficial
"CLDC 1.0
+ MIDP 1.0"
API Reference.
(日本語版)

javax.microedition.lcdui
クラス Graphics

java.lang.Object
  上位を拡張 javax.microedition.lcdui.Graphics

public class Graphics
extends Object

単純な2次元の幾何学的な描画機能を提供します。

注釈: 多数のスレッドからスクリーン・グラフィックス・コンテキストへアクセスしてはならないため、呼び出しは同期化されていません。 ただし、Image オブジェクトから getGraphics メソッドで取得したオブジェクトは任意のスレッドからいつでも呼び出すことができます。

プリミティブな描画は、テキスト、イメージ、直線、矩形、弧が提供されます。 矩形と弧は塗りつぶしを伴う描画を行うこともできます。 矩形のコーナーは丸みを帯びたものを指定することもできます。

提供される唯一の描画オペレーションはピクセル置換です。 目的のピクセル値は、描画のために使用されている Graphics オブジェクトの中で指定されたピクセル値と単純に置き換えられます。 ラスター・オペレーション(ロジカル・オペレーション)のようなピクセル値を組み合わせやアルファブレンディングのような機能は提供されません。

24 ビットのカラーモデルは、赤、青、緑の3色各8ビットによって提供されます。 全てのデバイスは 24 ビットの表示に十分な色を提供できるとは限りません。 このため、必要に応じてデバイスが提供できる色へ指定された色を置き換えて使用します。 デバイスがカラー表示が行えるかどうかや、何色あるいは何階調の表示が行えるかといったデバイスの特性を得るためのメソッドが Display クラスに用意されています。 アプリケーションはデバイスに依存する危険を犯すことなく、各デバイスに対応した処理を提供することができます。

Graphics オブジェクトはディスプレイあるいは画面外のイメージバッファに直接対応します。 提供される Graphics オブジェクトの描画先はグラフィックオブジェクトの生成時に決定されます。 ディスプレイに描画を行うための Graphics オブジェクトは Canvas オブジェクトの paint(Graphics) メソッドのパラメータとして渡されます。 これはディスプレイへの描画を行う Graphics オブジェクトを取得する唯一の手段です。 この Graphics オブジェクトは paint(Graphics) メソッドの中でのみ描画を行うことが可能です。

画面外のイメージバッファに対応する Graphics オブジェクトは、ターゲットとする Image オブジェクトの getGraphics() メソッドを呼び出すことにより取得できます。 このようにして取得した Graphics オブジェクトはアプリケーションによって保持しつづけることができ、いつでも描画の要求を行うことができます。

デフォルトの座標系の原点は、描画対象の左上に設定されています。 X 軸方向は右へ向かって増加し、Y 軸方向は下へ向かって増加します。 アプリケーションは座標系内の水平および垂直の距離が等しい距離を実際のディスプレイが提供していると仮定することができます。 つまり、ピクセルは正方形であると仮定することができます。 座標系のプログラム原点を変換する機構が提供されます。 全ての座標は整数として指定します。

座標系はピクセルそれ自身ではなく、ピクセル間の位置を表しています。 したがって、ディスプレイ左上の第1ピクセルは、座標 (0, 0)、(1,0)、(0, 1)、(1, 1) によって囲まれた境界にあります。

このように対象となる境界の意味は明確です。 完全にオペレーションの座標によって囲んだ境界内に位置するピクセルに対して影響します。 例えば、

     g.fillRect(0, 0, 3, 2)

で塗り潰される領域は、ちょうど 6 ピクセルです(この例における gGraphics オブジェクトであると仮定しています)。

フォントの個々の文字は、文字の形を構成するピクセルの集合を含んでいます。 文字が描画される際には、文字の形を構成するピクセルが、Graphics オブジェクトの現在のカラーによって塗り潰されて、文字を構成しないピクセル部分はそのまま残されます。 テキスト(文字および文字列)を描画するために、drawChar(char, int, int, int)drawChars(char[], int, int, int, int, int)drawString(java.lang.String, int, int, int)drawSubstring(java.lang.String, int, int, int, int, int) の各メソッドが用意されています。 すべてのテキストの描画はこれらのメソッドを呼び出して行います。

直線、弧、矩形および塗り潰された矩形は setStrokeStyle(int) メソッドによって指定された SOLID あるいは DOTTED のいずれかのストローク・スタイルによって描画されるでしょう。 ストローク・スタイルは、塗り潰し、テキストおよびイメージの描画には影響しません。

SOLID ストローク・スタイルは、実線(連続したドット)にて描画を行います。 描画した直線は、両端で指定座標のピクセルに触れます。従って、

     g.drawLine(0, 0, 0, 0)

は、ディスプレイの左上コーナーの最初の1ピクセルを描画します。

DOTTED ストローク・スタイルは、点線にて描画を行います。 ドットの周期と長さは実装に依存します。 直線と弧の端点が描画されることは保証されません。 また、同様に矩形の角点(頂点)も描画されることは保証されません。 ドットは現在設定されている色で描画します。 ドットとドットの間のスペースに存在するピクセルはそのままの状態が保たれます。

直線の描画時と塗りつぶしの描画時では、同じ座標を与えた時に影響を受ける領域が異なります。 例えば次の描画を考慮してみてください。

      g.fillRect(x, y, w, h); // 1
      g.drawRect(x, y, w, h); // 2

構文 1 は幅 w ピクセル、高さ h ピクセルの塗り潰された矩形を描画します。 構文 2 は左上を頂点とし、構文 1 によって塗り潰されたエリア内に矩形を描画します。 しかし、塗り潰された領域の右および下の外側に 1 ピクセルあふれています。 これは直感に反しますが、構文 2 が内部で以下のような描画を行うことを理解していれば不思議ではありません。

      g.drawLine(x, y, x+w, y);
      g.drawLine(x+w, y, x+w, y+h);
      g.drawLine(x+w, y+h, x, y+h);
      g.drawLine(x, y+h, x, y);

drawLine(int, int, int, int) および drawArc(int, int, int, int, int, int) による描画は正確なピクセルを指定できません。 塗り潰し描画の対象となるピクセルは、対応する直線描画の対象となるピクセルを正確に重なるか直接接します。 塗り潰し描画は塗り潰した領域と対応する直線描画の対象となるピクセルの間に隙間を残してはなりません。 また、塗り潰し描画は対応する直線描画の境界領域の外側にあるピクセルには触れません。

Graphics オブジェクトには単一の矩形クリッピング領域を設定することができます。 グラフィックの描画が行われるのは矩形のクリッピング領域内に位置するピクセルのみです。 矩形のクリッピング領域外のピクセルはどのようなグラフィック描画においても影響を受けることはありません。 矩形のクリッピング領域の高さあるいは幅を 0 としたり負数を指定したりすることができます。 この場合、矩形のクリッピング領域は「空」であると想定されます。 つまり、クリッピング領域内にピクセルは1つも存在しません。 したがって、このようなクリッピング領域が設定された状態で何らかのグラフィック描画を行ったとしても一切ピクセルに変化は生じません。

グラフィックの描画が矩形のクリッピング領域によって影響を受ける場合、その描画によって触れられるピクセルは、矩形のクリッピング領域が描画に影響しなかった場合に触れられるピクセルと同じピクセルとなります。 例えば矩形のクリッピング領域 (cx, cy, cw, ch)、このクリッピング領域外の座標である (x1, y1) およびこのクリッピング領域内の座標である (x2, y2) を想像してみてください。 次のサンプルコード、

      g.setClip(0, 0, canvas.getWidth(), canvas.getHeight());
      g.drawLine(x1, y1, x2, y2); // 3
      g.setClip(cx, cy, cw, ch);
      g.drawLine(x1, y1, x2, y2); // 4

構文 3 によって触れられたピクセルと構文 4 によって触れられたピクセルのうち、矩形のクリッピング領域内のピクセルは同一となります。

アンカーポイント

テキストの描画はアンカーポイントに基づいて行われます。 アンカーポイントはテキストを描画する際に要求された計算量を最小限にするために使用します。 例えば一片のテキストをセンタリングするために、アプリケーションはテキストの描画幅を得て次に適切な位置を計算するために減算と除算の組み合わせを実行するために stringWidth(String) または charWidth(char) を呼び出す必要があります。

テキストを描画するメソッドは以下の様に定義されます。

     public void drawString(String text, int x, int y, int anchor);

このメソッドは現在の色とそのアンカーポイントを備えた現在のフォントを使用して (x, y) 座標にテキストを描画します。 アンカーポイントは水平の位置を定義する LEFTHCENTERRIGHT のいずれかの定数と、垂直の位置を定義する TOPBASELINERIGHT のいずれかの定数を論理和演算した値で指定します。

テキストの垂直方向のセンタリングは、それが有用ではなく、指定しにくく、実装することも困難です。 このため、VCENTER 値をテキストの描画を行うメソッドを呼び出す際に指定するアンカーポイントに使用することは禁止されています。

位置 (x, y) に対応するテキストのバウンディングボックスの実際の位置はアンカーポイントによって決定されます。 これらのアンカーポイントは、バウンディングボックスの外のエッジに沿って、定数で指定した位置に生じます。 したがって、fg のカレントフォントに設定されている状態(g.getFont() == f の状態)において、以下の呼び出しは全て同一の結果となります。

    g.drawString(str, x, y, TOP|LEFT);
    g.drawString(str, x + f.stringWidth(str)/2, y, TOP|HCENTER);
    g.drawString(str, x + f.stringWidth(str), y, TOP|RIGHT);

    g.drawString(str, x,
        y + f.getBaselinePosition(), BASELINE|LEFT);
    g.drawString(str, x + f.stringWidth(str)/2,
        y + f.getBaselinePosition(), BASELINE|HCENTER);
    g.drawString(str, x + f.stringWidth(str),
        y + f.getBaselinePosition(), BASELINE|RIGHT);

    drawString(str, x,
        y + f.getHeight(), BOTTOM|LEFT);
    drawString(str, x + f.stringWidth(str)/2,
        y + f.getHeight(), BOTTOM|HCENTER);
    drawString(str, x + f.stringWidth(str),
        y + f.getHeight(), BOTTOM|RIGHT);

テキストの描画のためにフォントデザイナによって指定された文字と文字の間および行と行の間(リーディング)は、Font クラスの stringWidth(String) メソッドと getHeight() メソッドが返す値の一部として含まれています。 例として次のサンプルコードを示します。

    // (5)
    g.drawString(string1+string2, x, y, TOP|LEFT);

    // (6)
    g.drawString(string1, x, y, TOP|LEFT);
    g.drawString(string2, x + f.stringWidth(string1), y, TOP|LEFT);

上記のコード 5 と 6 は同等に動作します。 f.stringWidth(string1) が文字と文字の間のピクセル数を含んでいるため、この様に動作します。 同様に、適切な行間はフォントの高さを次のラインの Y 座標に加算することによって得ることができます。 例えば、

    g.drawString(string1, x, y, TOP|LEFT);
    g.drawString(string2, x, y + f.getHeight(), TOP|LEFT);

上のコードは適切な行間を持ってそれぞれの行に string1 および string2 を描画します。

文字列を描画する FontstringWidth(String) および getHeight() は、一片のテキストをバウンディングボックスのサイズを意味します。 上で述べたように、このボックスには行間および文字と文字の間隔を含んでいます。 実装は描画する文字に実際に属するピクセルの下および右にこのスペースを設置することが求められます。 注目を要するテキスト(例えばテキストの文字列の周りに矩形を描くなど)でぴったりと座標を決める必要のあるアプリケーションは、スペースが文字列の右および下にあり、左と上にはスペースが存在しないと仮定することができます。

アンカーポイントはイメージのポジショニングのためにも使用します。 テキストの描画と同様にイメージのためのアンカーポイントも、描画対象の座標 (x, y) に対するバウンディングボックスの位置で指定します。 テキストと異なり、イメージは垂直センタリング(VCENTER)を使用可能です。 イメージはテキストと異なり、ベースラインの概念がないため、BASELINE をイメージを描画するメソッドを呼び出す際に指定するパラメータのアンカーポイントには使用できません。


フィールドの概要
static int BASELINE
          テキストのアンカーポイントをボトム(下)とすることを示す定数(=64)です。
static int BOTTOM
          テキストとイメージのアンカーポイントをボトム(下)とすることを示す定数(=32)です。
static int DOTTED
          ストローク・スタイルに対して点線を指定する定数(=1)です。
static int HCENTER
          テキストとイメージのアンカーポイントに水平にセンタリングすることを示す定数(=1)です。
static int LEFT
          テキストとイメージのアンカーポイントを左とすることを示す定数(=4)です。
static int RIGHT
          テキストとイメージのアンカーポイントを右とすることを示す定数(=8)です。
static int SOLID
          ストローク・スタイルに対して実線を指定する定数(=0)です。
static int TOP
          テキストとイメージのアンカーポイントをトップ(上)とすることを示す定数(=16)です。
static int VCENTER
          イメージのアンカーポイントに対して垂直にセンタリングすることを示す定数(=2)です。
 
メソッドの概要
 void clipRect(int x, int y, int width, int height)
          指定された矩形と現在のクリッピングエリアと交差する矩形を新たなクリッピングエリアとして設定します。
 void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
          カレントのカラーとストローク・スタイルを使用して、指定された矩形をカバーする円形あるいは楕円形の弧のアウトラインを描画します。
 void drawChar(char character, int x, int y, int anchor)
          現在のフォントおよび色を用いて指定された文字を描画します。
 void drawChars(char[] data, int offset, int length, int x, int y, int anchor)
          現在のフォントおよび色を用いて指定された文字配列の指定部分を描画します。
 void drawImage(Image img, int x, int y, int anchor)
          指定されたイメージを描画します。
 void drawLine(int x1, int y1, int x2, int y2)
          座標 (x1, y1) と座標 (x2, y2) の間に直線を、現在設定されている色とストローク・スタイルを使用して描画します。
 void drawRect(int x, int y, int width, int height)
          現在の色およびストローク・スタイルを使用して、指定された矩形のアウトラインを描画します。
 void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
          現在の色およびストローク・スタイルを使用して、指定された角が丸い矩形のアウトラインを描画します。
 void drawString(String str, int x, int y, int anchor)
          現在のフォントおよび色を用いて指定された文字列を描画します。
 void drawSubstring(String str, int offset, int len, int x, int y, int anchor)
          現在のフォントおよび色を用いて指定された文字列の指定部分を描画します。
 void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
          指定された矩形をカバーする円形あるいは楕円形の弧を塗り潰します。
 void fillRect(int x, int y, int width, int height)
          設定されている色で指定された矩形領域を塗り潰します。
 void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
          設定されている色で指定された角の丸い矩形領域を塗り潰します。
 int getBlueComponent()
          現在設定されているカレントの色情報のうち、青の色情報を返します。
 int getClipHeight()
          カレントのクリッピングエリアの高さを返します。
 int getClipWidth()
          カレントのクリッピングエリアの幅を返します。
 int getClipX()
          このグラフィックコンテキストに設定されている原点座標に対して相対的な、カレントのクリッピング開始X座標を返します。
 int getClipY()
          このグラフィックコンテキストに設定されている原点座標に対して相対的な、カレントのクリッピング開始Y座標を返します。
 int getColor()
          現在設定されているカレントの色情報を返します。
 Font getFont()
          現在のフォントを返します。
 int getGrayScale()
          描画を行うために使用しているカレントの色のグレースケール値を返します。
 int getGreenComponent()
          現在設定されているカレントの色情報のうち、緑の色情報を返します。
 int getRedComponent()
          現在設定されているカレントの色情報のうち、赤の色情報を返します。
 int getStrokeStyle()
          現在の描画に使用されているストローク・スタイルを返します。
 int getTranslateX()
          このグラフィックコンテキストに設定されている原点のX座標を返します。
 int getTranslateY()
          このグラフィックコンテキストに設定されている原点のY座標を返します。
 void setClip(int x, int y, int width, int height)
          指定された座標および大きさの矩形をクリッピングエリアに設定します。
 void setColor(int RGB)
          グラフィックコンテキストに指定された赤・緑・青の各色の輝度に対応する色を設定します。
 void setColor(int red, int green, int blue)
          グラフィックコンテキストに指定された赤・緑・青の各色の輝度に対応する色を設定します。
 void setFont(Font font)
          テキストの描画に使用するフォントを設定します。
 void setGrayScale(int value)
          グラフィックコンテキストに指定されたグレースケール値を描画色として設定します。
 void setStrokeStyle(int style)
          直線、弧、長方形および角が丸い長方形を描画する際に使用するストロークタイプを設定します。
 void translate(int x, int y)
          このグラフィックスコンテキストの原点座標を (x, y) に移します。
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

HCENTER

public static final int HCENTER

テキストとイメージのアンカーポイントに水平にセンタリングすることを示す定数(=1)です。

関連項目:
定数フィールド値

VCENTER

public static final int VCENTER

イメージのアンカーポイントに対して垂直にセンタリングすることを示す定数(=2)です。

関連項目:
定数フィールド値

LEFT

public static final int LEFT

テキストとイメージのアンカーポイントを左とすることを示す定数(=4)です。

関連項目:
定数フィールド値

RIGHT

public static final int RIGHT

テキストとイメージのアンカーポイントを右とすることを示す定数(=8)です。

関連項目:
定数フィールド値

TOP

public static final int TOP

テキストとイメージのアンカーポイントをトップ(上)とすることを示す定数(=16)です。

関連項目:
定数フィールド値

BOTTOM

public static final int BOTTOM

テキストとイメージのアンカーポイントをボトム(下)とすることを示す定数(=32)です。

関連項目:
定数フィールド値

BASELINE

public static final int BASELINE

テキストのアンカーポイントをボトム(下)とすることを示す定数(=64)です。

関連項目:
定数フィールド値

SOLID

public static final int SOLID

ストローク・スタイルに対して実線を指定する定数(=0)です。

関連項目:
定数フィールド値

DOTTED

public static final int DOTTED

ストローク・スタイルに対して点線を指定する定数(=1)です。

関連項目:
定数フィールド値
メソッドの詳細

translate

public void translate(int x,
                      int y)

このグラフィックスコンテキストの原点座標を (x, y) に移します。 以後、このグラフィックスコンテキストで扱われる座標は全てこの新しい原点の影響を受けます。

このメソッドの影響は累積します。 例えば、translate(1, 2) と指定した後に translate(3, 4) を指定すると、原点座標は (4, 6) となります。

アプリケーションが絶対的な原点を指定する場合は、以下のテクニックを用います。

     g.translate(x - g.getTranslateX(), y - g.getTranslateY())
 

パラメータ:
x - 新しく設定する原点のX座標を渡します。
y - 新しく設定する原点のY座標を渡します。
関連項目:
getTranslateX(), getTranslateY()

getTranslateX

public int getTranslateX()

このグラフィックコンテキストに設定されている原点のX座標を返します。

戻り値:
設定されている原点のX座標を返します。

getTranslateY

public int getTranslateY()

このグラフィックコンテキストに設定されている原点のY座標を返します。

戻り値:
設定されている原点のY座標を返します。

getColor

public int getColor()

現在設定されているカレントの色情報を返します。 色情報は 0x00RRGGBB という構造をしています。

戻り値:
カレントの色情報を返します。
関連項目:
setColor(int, int, int)

getRedComponent

public int getRedComponent()

現在設定されているカレントの色情報のうち、赤の色情報を返します。 色情報は 0255 の間の値で返します。

戻り値:
赤の色情報を返します。
関連項目:
setColor(int, int, int)

getGreenComponent

public int getGreenComponent()

現在設定されているカレントの色情報のうち、緑の色情報を返します。 色情報は 0255 の間の値で返します。

戻り値:
緑の色情報を返します。
関連項目:
setColor(int, int, int)

getBlueComponent

public int getBlueComponent()

現在設定されているカレントの色情報のうち、青の色情報を返します。 色情報は 0255 の間の値で返します。

戻り値:
青の色情報を返します。
関連項目:
setColor(int, int, int)

getGrayScale

public int getGrayScale()

描画を行うために使用しているカレントの色のグレースケール値を返します。 最後に設定された色が setGrayScale(int) メソッドによって設定されていた場合、単純にその値を返します。 そうではない場合、赤・緑・青の各色の輝度を元に最も近いグレースケール値を計算します。 この計算はデバイスに固有の計算方法で求められます。

グレースケール値は 0255 の間の値で返します。

戻り値:
カレントのグレースケール値を返します。

setColor

public void setColor(int red,
                     int green,
                     int blue)

グラフィックコンテキストに指定された赤・緑・青の各色の輝度に対応する色を設定します。 以後、このグラフィックスコンテキストによる描画は全て設定された色で行われます。

各色の輝度は 0255 の間の値で指定します。 この範囲外の値を渡した場合、IllegalArgumentException を throw します。

パラメータ:
red - 設定する色の赤の輝度情報を渡します。
green - 設定する色の緑の輝度情報を渡します。
blue - 設定する色の青の輝度情報を渡します。
例外:
IllegalArgumentException - 輝度情報に不正な値が渡された場合に throw します。

setColor

public void setColor(int RGB)

グラフィックコンテキストに指定された赤・緑・青の各色の輝度に対応する色を設定します。 以後、このグラフィックスコンテキストによる描画は全て設定された色で行われます。 赤・緑・青の各色の輝度は 0x00RRGGBB の形式で構成します。 この値の範囲外のビットは無視します。

パラメータ:
RGB - 設定する色を 0x00RRGGBB の形式で渡します。

setGrayScale

public void setGrayScale(int value)

グラフィックコンテキストに指定されたグレースケール値を描画色として設定します。 以後、このグラフィックスコンテキストによる描画は全て設定された色で行われます。 カラー表示ではないディスプレイの場合はそのグレースケール値そのままで描画を行います。 カラー表示に対応したディスプレイの場合、そのグレースケール値に対応する灰色を設定します。

グレースケール値は 0255 の間の値で指定します。 この範囲外の値を渡した場合、IllegalArgumentException を throw します。

パラメータ:
value - 設定するグレースケール値を渡します。
例外:
IllegalArgumentException - グレースケール値が不正な場合に throw します。

getFont

public Font getFont()

現在のフォントを返します。

戻り値:
現在のフォントを返します。
関連項目:
Font, setFont(javax.microedition.lcdui.Font)

setStrokeStyle

public void setStrokeStyle(int style)

直線、弧、長方形および角が丸い長方形を描画する際に使用するストロークタイプを設定します。 これは塗り潰し、テキスト、イメージの描画には影響しません。

ストローク・スタイルは SOLID あるいは DOTTED のいずれかで指定します。 不正なストローク・スタイルを指定すると IllegalArgumentException を throw します。

パラメータ:
style - 設定するストローク・スタイルを渡します。
例外:
IllegalArgumentException - ストローク・スタイルが不正な場合に throw します。

getStrokeStyle

public int getStrokeStyle()

現在の描画に使用されているストローク・スタイルを返します。 ストローク・スタイルは SOLID あるいは DOTTED のいずれかの値で返します。

戻り値:
設定されているストローク・スタイルを返します。

setFont

public void setFont(Font font)

テキストの描画に使用するフォントを設定します。 フォントに null を指定した場合、デフォルトのフォントを使用します。 この場合の処理は、setFont(Font.getDefaultFont()) と記述するのと等価です。

パラメータ:
font - 設定するフォントを渡します。
関連項目:
Font, getFont(), drawString(java.lang.String, int, int, int), drawChars(char[], int, int, int, int, int)

getClipX

public int getClipX()

このグラフィックコンテキストに設定されている原点座標に対して相対的な、カレントのクリッピング開始X座標を返します。 整数を返す2つの getClip メソッドの呼び出しは、オブジェクトを返す1つの(J2SE の)getClip メソッドの呼び出しよりも効率的です。

戻り値:
現在設定されているクリッピング開始X座標を返します。
関連項目:
clipRect(int, int, int, int), setClip(int, int, int, int)

getClipY

public int getClipY()

このグラフィックコンテキストに設定されている原点座標に対して相対的な、カレントのクリッピング開始Y座標を返します。 整数を返す2つの getClip メソッドの呼び出しは、オブジェクトを返す1つの(J2SE の)getClip メソッドの呼び出しよりも効率的です。

戻り値:
現在設定されているクリッピング開始Y座標を返します。
関連項目:
clipRect(int, int, int, int), setClip(int, int, int, int)

getClipWidth

public int getClipWidth()

カレントのクリッピングエリアの幅を返します。

戻り値:
クリッピングエリアの幅を返します。
関連項目:
clipRect(int, int, int, int), setClip(int, int, int, int)

getClipHeight

public int getClipHeight()

カレントのクリッピングエリアの高さを返します。

戻り値:
クリッピングエリアの高さを返します。
関連項目:
clipRect(int, int, int, int), setClip(int, int, int, int)

clipRect

public void clipRect(int x,
                     int y,
                     int width,
                     int height)

指定された矩形と現在のクリッピングエリアと交差する矩形を新たなクリッピングエリアとして設定します。 このメソッドは現在の設定されているクリッピングエリアをより小さくするために使用することができます。 現在のクリッピングエリアをより大きくするためには setClip(int, int, int, int) メソッドを使用します。 描画のリクエストは、クリッピングエリアの外では効果を発揮しません。

パラメータ:
x - クリッピングエリアと交差している矩形のX座標を渡します。
y - クリッピングエリアと交差している矩形のY座標を渡します。
width - クリッピングエリアと交差している矩形の幅を渡します。
height - クリッピングエリアと交差している矩形の高さを渡します。
関連項目:
setClip(int, int, int, int)

setClip

public void setClip(int x,
                    int y,
                    int width,
                    int height)

指定された座標および大きさの矩形をクリッピングエリアに設定します。 描画のリクエストは、クリッピングエリアの外では効果を発揮しません。

パラメータ:
x - 新しくクリッピングエリアに設定する矩形のX座標を渡します。
y - 新しくクリッピングエリアに設定する矩形のY座標を渡します。
width - 新しくクリッピングエリアに設定する矩形の幅を渡します。
height - 新しくクリッピングエリアに設定する矩形の高さを渡します。
関連項目:
clipRect(int, int, int, int)

drawLine

public void drawLine(int x1,
                     int y1,
                     int x2,
                     int y2)

座標 (x1, y1) と座標 (x2, y2) の間に直線を、現在設定されている色とストローク・スタイルを使用して描画します。

パラメータ:
x1 - 直線を描画するX座標始点を渡します。
y1 - 直線を描画するY座標始点を渡します。
x2 - 直線を描画するX座標終点を渡します。
y2 - 直線を描画するY座標終点を渡します。

fillRect

public void fillRect(int x,
                     int y,
                     int width,
                     int height)

設定されている色で指定された矩形領域を塗り潰します。 幅あるいは高さが 0 か負数の場合、一切描画を行いません。

パラメータ:
x - 塗り潰す矩形領域のX座標始点を渡します。
y - 塗り潰す矩形領域のY座標始点を渡します。
width - 塗り潰す矩形領域の幅を渡します。
height - 塗り潰す矩形領域の高さを渡します。
関連項目:
drawRect(int, int, int, int)

drawRect

public void drawRect(int x,
                     int y,
                     int width,
                     int height)

現在の色およびストローク・スタイルを使用して、指定された矩形のアウトラインを描画します。 この結果描画される矩形は幅が (width + 1)、高さが (height + 1) の領域をカバーします。 幅が 0 未満の場合、一切描画を行いません。

パラメータ:
x - 矩形を描画するX座標始点を渡します。
y - 矩形を描画するY座標始点を渡します。
width - 矩形を描画する幅を渡します。
height - 矩形を描画する高さを渡します。
関連項目:
fillRect(int, int, int, int)

drawRoundRect

public void drawRoundRect(int x,
                          int y,
                          int width,
                          int height,
                          int arcWidth,
                          int arcHeight)

現在の色およびストローク・スタイルを使用して、指定された角が丸い矩形のアウトラインを描画します。 この結果描画される矩形は幅が (width + 1)、高さが (height + 1) の領域をカバーします。 幅が 0 未満の場合、一切描画を行いません。

パラメータ:
x - 矩形を描画するX座標始点を渡します。
y - 矩形を描画するY座標始点を渡します。
width - 矩形を描画する幅を渡します。
height - 矩形を描画する高さを渡します。
arcWidth - 4つの角の弧の水平方向の直径を渡します。
arcHeight - 4つの角の弧の垂直方向の直径を渡します。
関連項目:
fillRoundRect(int, int, int, int, int, int)

fillRoundRect

public void fillRoundRect(int x,
                          int y,
                          int width,
                          int height,
                          int arcWidth,
                          int arcHeight)

設定されている色で指定された角の丸い矩形領域を塗り潰します。 幅あるいは高さが 0 か負数の場合、一切描画を行いません。

パラメータ:
x - 塗り潰す矩形領域のX座標始点を渡します。
y - 塗り潰す矩形領域のY座標始点を渡します。
width - 塗り潰す矩形領域の幅を渡します。
height - 塗り潰す矩形領域の高さを渡します。
arcWidth - 4つの角の弧の水平方向の直径を渡します。
arcHeight - 4つの角の弧の垂直方向の直径を渡します。
関連項目:
drawRoundRect(int, int, int, int, int, int)

fillArc

public void fillArc(int x,
                    int y,
                    int width,
                    int height,
                    int startAngle,
                    int arcAngle)

指定された矩形をカバーする円形あるいは楕円形の弧を塗り潰します。

描画対象の弧は startAngle の角度から始まり arcAngle 度まで描画します。 各角度の0度は3時の位置に相当します。 角度は負数の値が右回りの回転を示し、正数の値は左回りの回転を示します。

弧の中心は、原点が (x, y) の矩形の中心と同一です。 その矩形の大きさは幅と高さによって指定します。 この幅と高さが 0 か、さらに小さい場合は何も描画しません。

塗り潰す領域は、startAngle 度から開始し startAngle + arcAngle 度で終わる弧の境界領域です。 この領域は drawArc(int, int, int, int, int, int) メソッドによって描画される形状と一致します。

角度の指定は円1周を360分割した1度単位で指定します。 このため、矩形が正方形の時の45度は矩形が縦長の場合は90度に近づき、横長の場合は0度に近づきます。

パラメータ:
x - 塗り潰した弧を内包する矩形の左上のX座標を渡します。
y - 塗り潰した弧を内包する矩形の左上のY座標を渡します。
width - 塗り潰した弧を内包する矩形の幅を渡します。
height - 塗り潰した弧を内包する矩形の高さを渡します。
startAngle - 塗り潰した弧の描画を開始する角度を渡します。
arcAngle - 塗り潰した弧の描画を行う角度を渡します。 終了角度はこの角度に startAngle を足した角度となります。
関連項目:
drawArc(int, int, int, int, int, int)

drawArc

public void drawArc(int x,
                    int y,
                    int width,
                    int height,
                    int startAngle,
                    int arcAngle)

カレントのカラーとストローク・スタイルを使用して、指定された矩形をカバーする円形あるいは楕円形の弧のアウトラインを描画します。

描画対象の弧は startAngle の角度から始まり arcAngle 度まで描画します。 各角度の0度は3時の位置に相当します。 角度は負数の値が右回りの回転を示し、正数の値は左回りの回転を示します。

弧の中心は、原点が (x, y) の矩形の中心と同一です。 その矩形の大きさは幅と高さによって指定します。 この幅と高さが 0 か、さらに小さい場合は何も描画しません。

描画する弧の形は、startAngle 度から開始し startAngle + arcAngle 度で終わる弧のアウトラインです。 この領域は fillArc(int, int, int, int, int, int) メソッドによって塗り潰される領域の形状と一致します。

角度の指定は円1周を360分割した1度単位で指定します。 このため、矩形が正方形の時の45度は矩形が縦長の場合は90度に近づき、横長の場合は0度に近づきます。

パラメータ:
x - 描画する弧のアウトラインを内包する矩形の左上のX座標を渡します。
y - 描画する弧のアウトラインを内包する矩形の左上のY座標を渡します。
width - 描画する弧のアウトラインを内包する矩形の幅を渡します。
height - 描画する弧のアウトラインを内包する矩形の高さを渡します。
startAngle - 描画する弧のアウトラインの描画を開始する角度を渡します。
arcAngle - 描画する弧のアウトラインの描画を行う角度を渡します。 終了角度はこの角度に startAngle を足した角度となります。
関連項目:
fillArc(int, int, int, int, int, int)

drawString

public void drawString(String str,
                       int x,
                       int y,
                       int anchor)

現在のフォントおよび色を用いて指定された文字列を描画します。 位置 (x, y) はアンカーポイントの位置を示します。 詳しくはアンカーポイントの説明を参照してください。

パラメータ:
str - 描画する文字列を渡します。
x - アンカーポイントのX座標を渡します。
y - アンカーポイントのY座標を渡します。
anchor - テキストの位置を決めるためのアンカーポイントを渡します。
例外:
NullPointerException - strnull の場合に throw します。
IllegalArgumentException - アンカーポイントの指定が不正な場合に throw します。
関連項目:
drawChars(char[], int, int, int, int, int)

drawSubstring

public void drawSubstring(String str,
                          int offset,
                          int len,
                          int x,
                          int y,
                          int anchor)

現在のフォントおよび色を用いて指定された文字列の指定部分を描画します。 位置 (x, y) はアンカーポイントの位置を示します。 詳しくはアンカーポイントの説明を参照してください。

描画する文字列は渡された文字列内の位置 offset から len 文字分です。 位置は1文字目を0とする0ベースで指定します。

パラメータ:
str - 描画する文字列を渡します。
offset - 文字列内の開始位置を渡します。
len - 描画する文字数を渡します。
x - アンカーポイントのX座標を渡します。
y - アンカーポイントのY座標を渡します。
anchor - テキストの位置を決めるためのアンカーポイントを渡します。
例外:
StringIndexOutOfBoundsException - offset および len による指定が str に対して不適切な場合に throw します。
IllegalArgumentException - アンカーポイントの指定が不正な場合に throw します。
NullPointerException - strnull の場合に throw します。
関連項目:
drawString(String, int, int, int)

drawChar

public void drawChar(char character,
                     int x,
                     int y,
                     int anchor)

現在のフォントおよび色を用いて指定された文字を描画します。 位置 (x, y) はアンカーポイントの位置を示します。 詳しくはアンカーポイントの説明を参照してください。

パラメータ:
character - 描画する文字を渡します。
x - アンカーポイントのX座標を渡します。
y - アンカーポイントのY座標を渡します。
anchor - テキストの位置を決めるためのアンカーポイントを渡します。
例外:
IllegalArgumentException - アンカーポイントの指定が不正な場合に throw します。
関連項目:
drawString(java.lang.String, int, int, int), drawChars(char[], int, int, int, int, int)

drawChars

public void drawChars(char[] data,
                      int offset,
                      int length,
                      int x,
                      int y,
                      int anchor)

現在のフォントおよび色を用いて指定された文字配列の指定部分を描画します。 位置 (x, y) はアンカーポイントの位置を示します。 詳しくはアンカーポイントの説明を参照してください。

描画する文字列は渡された文字配列内の位置 offset から length 文字分です。 位置は1文字目を0とする0ベースで指定します。

パラメータ:
data - 描画する文字配列を渡します。
offset - 文字配列内の開始位置を渡します。
length - 描画する文字数を渡します。
x - アンカーポイントのX座標を渡します。
y - アンカーポイントのY座標を渡します。
anchor - テキストの位置を決めるためのアンカーポイントを渡します。
例外:
ArrayIndexOutOfBoundsException - offset および length による指定が文字配列 data に対して不適切な場合に throw します。
IllegalArgumentException - アンカーポイントの指定が不正な場合に throw します。
NullPointerException - datanull の場合に throw します。
関連項目:
drawString(java.lang.String, int, int, int)

drawImage

public void drawImage(Image img,
                      int x,
                      int y,
                      int anchor)

指定されたイメージを描画します。 位置 (x, y) はアンカーポイントの位置を示します。 詳しくはアンカーポイントの説明を参照してください。

パラメータ:
img - 描画するイメージを渡します。
x - アンカーポイントのX座標を渡します。
y - アンカーポイントのY座標を渡します。
anchor - テキストの位置を決めるためのアンカーポイントを渡します。
例外:
IllegalArgumentException - アンカーポイントの指定が不正な場合に throw します。
NullPointerException - imgnull の場合に throw します。
関連項目:
Image

Unofficial
"CLDC 1.0
+ MIDP 1.0"
API Reference.
(日本語版)

このAPIリファレンスに記載されている内容は"さかきけい"が Sun Microsystems, Inc や Java Community Process が公開している各種公式資料を元に、独自に調査・編集したものであり、Sun Microsystems, Inc や Java Community Process 等とは一切関係ありません。したがってこのAPIリファレンスに関する問い合わせを関係各社等に対して行うことを固く禁じます。
また、記載された内容には既知か否かに関らず誤りが含まれる可能性があり、一切保証はありません。本APIリファレンスを使用した結果、不利益が生じたとしても"さかきけい"は一切の責任を負いません。
許可無く公開/非公開および Internet/Intranet/LAN を問わず他サイトに転載すること、複写および複製すること、ローカルファイル等に保存することを禁じます。


Copyright© 2001-2002,2005-2009 by KEI SAKAKI.
ALL RIGHTS RESERVED.
無断転載を禁じます。

Unofficial "CLDC 1.1 + MIDP 2.0" API Reference はこちらです。