|
Unofficial "CLDC 1.0 + MIDP 1.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.microedition.lcdui.Graphics
public class Graphics
単純な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
ピクセルです(この例における g
は Graphics
オブジェクトであると仮定しています)。
フォントの個々の文字は、文字の形を構成するピクセルの集合を含んでいます。
文字が描画される際には、文字の形を構成するピクセルが、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) 座標にテキストを描画します。
アンカーポイントは水平の位置を定義する LEFT
、HCENTER
、RIGHT
のいずれかの定数と、垂直の位置を定義する TOP
、BASELINE
、RIGHT
のいずれかの定数を論理和演算した値で指定します。
テキストの垂直方向のセンタリングは、それが有用ではなく、指定しにくく、実装することも困難です。
このため、VCENTER
値をテキストの描画を行うメソッドを呼び出す際に指定するアンカーポイントに使用することは禁止されています。
位置 (x, y) に対応するテキストのバウンディングボックスの実際の位置はアンカーポイントによって決定されます。
これらのアンカーポイントは、バウンディングボックスの外のエッジに沿って、定数で指定した位置に生じます。
したがって、f
が g
のカレントフォントに設定されている状態(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
を描画します。
文字列を描画する Font
の stringWidth(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 |
フィールドの詳細 |
---|
public static final int HCENTER
テキストとイメージのアンカーポイントに水平にセンタリングすることを示す定数(=1
)です。
public static final int VCENTER
イメージのアンカーポイントに対して垂直にセンタリングすることを示す定数(=2
)です。
public static final int LEFT
テキストとイメージのアンカーポイントを左とすることを示す定数(=4
)です。
public static final int RIGHT
テキストとイメージのアンカーポイントを右とすることを示す定数(=8
)です。
public static final int TOP
テキストとイメージのアンカーポイントをトップ(上)とすることを示す定数(=16
)です。
public static final int BOTTOM
テキストとイメージのアンカーポイントをボトム(下)とすることを示す定数(=32
)です。
public static final int BASELINE
テキストのアンカーポイントをボトム(下)とすることを示す定数(=64
)です。
public static final int SOLID
ストローク・スタイルに対して実線を指定する定数(=0
)です。
public static final int DOTTED
ストローク・スタイルに対して点線を指定する定数(=1
)です。
メソッドの詳細 |
---|
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()
public int getTranslateX()
このグラフィックコンテキストに設定されている原点のX座標を返します。
public int getTranslateY()
このグラフィックコンテキストに設定されている原点のY座標を返します。
public int getColor()
現在設定されているカレントの色情報を返します。
色情報は 0x00RRGGBB
という構造をしています。
setColor(int, int, int)
public int getRedComponent()
現在設定されているカレントの色情報のうち、赤の色情報を返します。
色情報は 0
〜 255
の間の値で返します。
setColor(int, int, int)
public int getGreenComponent()
現在設定されているカレントの色情報のうち、緑の色情報を返します。
色情報は 0
〜 255
の間の値で返します。
setColor(int, int, int)
public int getBlueComponent()
現在設定されているカレントの色情報のうち、青の色情報を返します。
色情報は 0
〜 255
の間の値で返します。
setColor(int, int, int)
public int getGrayScale()
描画を行うために使用しているカレントの色のグレースケール値を返します。
最後に設定された色が setGrayScale(int)
メソッドによって設定されていた場合、単純にその値を返します。
そうではない場合、赤・緑・青の各色の輝度を元に最も近いグレースケール値を計算します。
この計算はデバイスに固有の計算方法で求められます。
グレースケール値は 0
〜 255
の間の値で返します。
public void setColor(int red, int green, int blue)
グラフィックコンテキストに指定された赤・緑・青の各色の輝度に対応する色を設定します。 以後、このグラフィックスコンテキストによる描画は全て設定された色で行われます。
各色の輝度は 0
〜 255
の間の値で指定します。
この範囲外の値を渡した場合、IllegalArgumentException
を throw します。
red
- 設定する色の赤の輝度情報を渡します。green
- 設定する色の緑の輝度情報を渡します。blue
- 設定する色の青の輝度情報を渡します。
IllegalArgumentException
- 輝度情報に不正な値が渡された場合に throw します。public void setColor(int RGB)
グラフィックコンテキストに指定された赤・緑・青の各色の輝度に対応する色を設定します。
以後、このグラフィックスコンテキストによる描画は全て設定された色で行われます。
赤・緑・青の各色の輝度は 0x00RRGGBB
の形式で構成します。
この値の範囲外のビットは無視します。
RGB
- 設定する色を 0x00RRGGBB
の形式で渡します。public void setGrayScale(int value)
グラフィックコンテキストに指定されたグレースケール値を描画色として設定します。 以後、このグラフィックスコンテキストによる描画は全て設定された色で行われます。 カラー表示ではないディスプレイの場合はそのグレースケール値そのままで描画を行います。 カラー表示に対応したディスプレイの場合、そのグレースケール値に対応する灰色を設定します。
グレースケール値は 0
〜 255
の間の値で指定します。
この範囲外の値を渡した場合、IllegalArgumentException
を throw します。
value
- 設定するグレースケール値を渡します。
IllegalArgumentException
- グレースケール値が不正な場合に throw します。public Font getFont()
現在のフォントを返します。
Font
,
setFont(javax.microedition.lcdui.Font)
public void setStrokeStyle(int style)
直線、弧、長方形および角が丸い長方形を描画する際に使用するストロークタイプを設定します。 これは塗り潰し、テキスト、イメージの描画には影響しません。
ストローク・スタイルは SOLID
あるいは DOTTED
のいずれかで指定します。
不正なストローク・スタイルを指定すると IllegalArgumentException
を throw します。
style
- 設定するストローク・スタイルを渡します。
IllegalArgumentException
- ストローク・スタイルが不正な場合に throw します。public int getStrokeStyle()
現在の描画に使用されているストローク・スタイルを返します。
ストローク・スタイルは SOLID
あるいは DOTTED
のいずれかの値で返します。
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)
public int getClipX()
このグラフィックコンテキストに設定されている原点座標に対して相対的な、カレントのクリッピング開始X座標を返します。
整数を返す2つの getClip
メソッドの呼び出しは、オブジェクトを返す1つの(J2SE の)getClip
メソッドの呼び出しよりも効率的です。
clipRect(int, int, int, int)
,
setClip(int, int, int, int)
public int getClipY()
このグラフィックコンテキストに設定されている原点座標に対して相対的な、カレントのクリッピング開始Y座標を返します。
整数を返す2つの getClip
メソッドの呼び出しは、オブジェクトを返す1つの(J2SE の)getClip
メソッドの呼び出しよりも効率的です。
clipRect(int, int, int, int)
,
setClip(int, int, int, int)
public int getClipWidth()
カレントのクリッピングエリアの幅を返します。
clipRect(int, int, int, int)
,
setClip(int, int, int, int)
public int getClipHeight()
カレントのクリッピングエリアの高さを返します。
clipRect(int, int, int, int)
,
setClip(int, int, int, int)
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)
public void setClip(int x, int y, int width, int height)
指定された座標および大きさの矩形をクリッピングエリアに設定します。 描画のリクエストは、クリッピングエリアの外では効果を発揮しません。
x
- 新しくクリッピングエリアに設定する矩形のX座標を渡します。y
- 新しくクリッピングエリアに設定する矩形のY座標を渡します。width
- 新しくクリッピングエリアに設定する矩形の幅を渡します。height
- 新しくクリッピングエリアに設定する矩形の高さを渡します。clipRect(int, int, int, int)
public void drawLine(int x1, int y1, int x2, int y2)
座標 (x1, y1) と座標 (x2, y2) の間に直線を、現在設定されている色とストローク・スタイルを使用して描画します。
x1
- 直線を描画するX座標始点を渡します。y1
- 直線を描画するY座標始点を渡します。x2
- 直線を描画するX座標終点を渡します。y2
- 直線を描画するY座標終点を渡します。public void fillRect(int x, int y, int width, int height)
設定されている色で指定された矩形領域を塗り潰します。
幅あるいは高さが 0
か負数の場合、一切描画を行いません。
x
- 塗り潰す矩形領域のX座標始点を渡します。y
- 塗り潰す矩形領域のY座標始点を渡します。width
- 塗り潰す矩形領域の幅を渡します。height
- 塗り潰す矩形領域の高さを渡します。drawRect(int, int, int, int)
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)
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)
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)
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)
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)
public void drawString(String str, int x, int y, int anchor)
現在のフォントおよび色を用いて指定された文字列を描画します。 位置 (x, y) はアンカーポイントの位置を示します。 詳しくはアンカーポイントの説明を参照してください。
str
- 描画する文字列を渡します。x
- アンカーポイントのX座標を渡します。y
- アンカーポイントのY座標を渡します。anchor
- テキストの位置を決めるためのアンカーポイントを渡します。
NullPointerException
- str
が null
の場合に throw します。
IllegalArgumentException
- アンカーポイントの指定が不正な場合に throw します。drawChars(char[], int, int, int, int, int)
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
- str
が null
の場合に throw します。drawString(String, int, int, int)
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)
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
- data
が null
の場合に throw します。drawString(java.lang.String, int, int, int)
public void drawImage(Image img, int x, int y, int anchor)
指定されたイメージを描画します。 位置 (x, y) はアンカーポイントの位置を示します。 詳しくはアンカーポイントの説明を参照してください。
img
- 描画するイメージを渡します。x
- アンカーポイントのX座標を渡します。y
- アンカーポイントのY座標を渡します。anchor
- テキストの位置を決めるためのアンカーポイントを渡します。
IllegalArgumentException
- アンカーポイントの指定が不正な場合に throw します。
NullPointerException
- img
が null
の場合に throw します。Image
|
Unofficial "CLDC 1.0 + MIDP 1.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |