public final class GraphicsContext extends Object
Canvas
への描画呼出しを発行するために使用されます。
呼出しごとに、必要なパラメータがバッファにプッシュされ、その後、パルスの最後に、レンダリング・スレッドによってCanvas
ノードのイメージ上にそれらのパラメータがレンダリングされます。
Canvas
には、GraphicsContext
およびバッファがそれぞれ1つのみ含まれます。いずれのシーンにもアタッチされていない場合は、一度に1つのスレッドからのみ使用されるかぎり、スレッドで変更できます。シーンにアタッチされたCanvas
ノードは、JavaFXアプリケーション・スレッドで変更する必要があります。
GraphicsContext
のメソッドを呼び出すと、その対応するCanvas
を変更するとみなされ、同じスレッド・ルールが適用されます。
また、GraphicsContext
は、いつでも保存またはリストアできる状態オブジェクトのスタックも管理します。
GraphicsContext
は、レンダリング・メソッドの様々なサブセットに影響を与える次のレンダリング属性を保持します。
属性 | 保存/リストア | デフォルト値 | 説明 |
---|---|---|---|
共通のレンダリング属性 | |||
Clip |
可 | クリップしません | レンダリングに制限を加える、様々なクリップ・パスのアンチエイリアス交差。 |
Global Alpha |
可 | 1.0 |
各レンダリング操作の可視性またはフェードを制御する不透明度値。 |
Global Blend Mode |
可 | SRC_OVER |
各レンダリング操作のピクセルが既存のイメージにどのように結合されるかを制御するBlendMode 列挙値。
|
Transform |
可 | Identity |
座標がキャンバス・イメージの論理ピクセルにマップされる方法を制御する3x2の2Dアフィン変換行列。 |
Effect |
可 | null |
各レンダリング操作に個別に適用されるEffect 。
|
塗りつぶし属性 | |||
Fill Paint |
可 | BLACK |
塗りつぶし操作で図形の内部に適用されるPaint 。
|
ストローク属性 | |||
Stroke Paint |
可 | BLACK |
ストローク操作で図形の境界に適用されるPaint 。
|
Line Width |
可 | 1.0 |
ストローク操作で図形の境界に適用されるストロークの幅。 |
Line Cap |
可 | SQUARE |
ストローク操作で各破線またはサブパス(あるいはその両方)の最初と最後に適用されるエンド・キャップのスタイル。 |
Line Join |
可 | MITER |
ストローク操作で図形の境界パスの各セグメント間に適用される結合のスタイル。 |
Miter Limit |
可 | 10.0 |
ストローク操作で切り捨てられてBEVEL 結合になる前に、MITER 線結合が、図形の境界パスのセグメント間の鋭角方向に、線幅に相対的にどの程度拡張できるかを示す比率の制限。
|
Dashes |
可 | null |
ストローク操作での図形の境界内のセグメントに適用される、ダッシュの長さの配列。 |
Dash Offset |
可 | 0.0 |
ストローク操作での図形の境界内のセグメントのダッシュ設定が開始される、ダッシュの長さの配列への距離オフセット。 |
テキスト属性 | |||
Font |
可 | Default Font |
すべてのテキスト入力操作およびストローク・テキスト操作で使用されるフォント。 |
Text Align |
可 | LEFT |
テキスト操作で指定されるX 座標に対するテキストの水平配置。
|
Text Baseline |
可 | BASELINE |
テキスト操作で指定されるY 座標に対して相対的な、テキストの垂直配置。
|
Font Smoothing |
可 | GRAY |
すべてのテキスト塗りつぶし操作でフォントのグリフに適用されるスムージング(アンチエイリアス)のタイプ。 |
パス属性 | |||
Current Path |
不可 | パスは空です | 様々なパスの塗りつぶし、ストロークまたはクリップ操作で使用される、様々なパス構築メソッドを使用して構築されたパス。 |
Fill Rule |
可 | NON_ZERO |
パスの塗りつぶしまたはクリップ操作用のパスの内部の指定に使用されるメソッド。 |
GraphicsContext
の様々なレンダリング・メソッドでは、次のレンダリング属性のセットを使用します。
メソッド | 共通のレンダリング属性 | 塗りつぶし属性 | ストローク属性 | テキスト属性 | パス属性 |
---|---|---|---|---|---|
基本図形のレンダリング | |||||
fillRect() 、fillRoundRect() 、fillOval() 、fillArc()
|
可 | 可 | 不可 | 不可 | 不可 |
strokeLine() 、strokeRect() 、strokeRoundRect() 、strokeOval() 、strokeArc()
|
可 | 不可 | 可 | 不可 | 不可 |
clearRect()
|
可[1] | 不可 | 不可 | 不可 | 不可 |
fillPolygon()
|
可 | 可 | 不可 | 不可 | 可[2] |
strokePolygon() 、strokePolyline()
|
可 | 不可 | 可 | 不可 | 不可 |
[1] Transform、ClipおよびEffectのみがclearRect()に適用されます。 | |||||
テキストのレンダリング | |||||
fillText() 、fillText(with maxWidth)
|
可 | 可 | 不可 | 可[3] | 不可 |
strokeText() 、strokeText(with maxWidth)
|
可 | 不可 | 可 | 可[3] | 不可 |
[3] Font Smoothing属性は塗りつぶしテキストにのみ適用されます | |||||
パスのレンダリング | |||||
beginPath() 、moveTo() 、lineTo() 、quadraticCurveTo() 、bezierCurveTo() 、arc() 、arcTo() 、appendSVGPath() 、closePath() 、rect()
|
可[4] | 不可 | 不可 | 不可 | 不可 |
fill()
|
可[4] | 可 | 不可 | 不可 | 可 |
stroke()
|
可[4] | 不可 | 可 | 不可 | 可 [5] |
clip()
|
不可 | 不可 | 不可 | 不可 | 可 |
[4] パス構築中にのみTransformが適用されます。 | |||||
イメージのレンダリング | |||||
drawImage(all forms)
|
可 | 不可 | 不可 | 不可 | 不可 |
その他 | |||||
applyEffect() 、PixelWriter methods
|
不可 | 不可 | 不可 | 不可 | 不可 |
例:
import javafx.scene.*; import javafx.scene.paint.*; import javafx.scene.canvas.*; Group root = new Group(); Scene s = new Scene(root, 300, 300, Color.BLACK); final Canvas canvas = new Canvas(250,250); GraphicsContext gc = canvas.getGraphicsContext2D(); gc.setFill(Color.BLUE); gc.fillRect(75,75,100,100); root.getChildren().add(canvas);
修飾子と型 | メソッドと説明 |
---|---|
void |
appendSVGPath(String svgpath)
SVG Path文字列を現在のパスに追加します。
|
void |
applyEffect(Effect e)
指定された効果をキャンバスの境界全体に適用し、その結果を同じキャンバスに格納します。
|
void |
arc(double centerX, double centerY, double radiusX, double radiusY, double startAngle, double length)
パス要素を現在のパスに追加し、ユークリッド角度を使用する円弧を作成します。
|
void |
arcTo(double x1, double y1, double x2, double y2, double radius)
セグメントを現在のパスに追加して円弧を作成します。
|
void |
beginPath()
現在のパスを空にリセットします。
|
void |
bezierCurveTo(double xc1, double yc1, double xc2, double yc2, double x1, double y1)
セグメントを現在のパスに追加して3次ベジェ曲線を作成します。
|
void |
clearRect(double x, double y, double w, double h)
透明色値を持つキャンバスの一部をクリアします。
|
void |
clip()
現在のクリップを現在のパスと交差させ、アンチエイリアス・マスクとして後続のレンダリング操作に適用します。
|
void |
closePath()
パスを閉じます。
|
void |
drawImage(Image img, double x, double y)
指定されたx、yの位置に、指定されたイメージの幅と高さを使用してイメージを描画します。
|
void |
drawImage(Image img, double x, double y, double w, double h)
キャンバスの指定されたデスティネーション矩形にイメージを描画します。
|
void |
drawImage(Image img, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh)
キャンバスの指定されたデスティネーション矩形に指定されたイメージの指定されたソース矩形を描画します。
|
void |
fill()
現在の塗りつぶしペイントを使用してパスを塗りつぶします。
|
void |
fillArc(double x, double y, double w, double h, double startAngle, double arcExtent, ArcType closure)
現在の塗りつぶしペイントを使用して円弧を塗りつぶします。
|
void |
fillOval(double x, double y, double w, double h)
現在の塗りつぶしペイントを使用して楕円を塗りつぶします。
|
void |
fillPolygon(double[] xPoints, double[] yPoints, int nPoints)
現在設定されている塗りつぶしペイントを使用して、指定された点を持つポリゴンを塗りつぶします。
|
void |
fillRect(double x, double y, double w, double h)
現在の塗りつぶしペイントを使用して矩形を塗りつぶします。
|
void |
fillRoundRect(double x, double y, double w, double h, double arcWidth, double arcHeight)
現在の塗りつぶしペイントを使用して角の丸い矩形を塗りつぶします。
|
void |
fillText(String text, double x, double y)
現在の塗りつぶしペイント属性を使用して、位置x、yの指定されたテキストの文字列を入力します。
|
void |
fillText(String text, double x, double y, double maxWidth)
テキストを入力し、文字列の最大幅を含めます。
|
Canvas |
getCanvas()
GraphicsContext が描画コマンドを発行しているCanvas を取得します。 |
Effect |
getEffect(Effect e)
次の描画呼出し後に適用される効果のコピーを取得します。
|
Paint |
getFill()
現在の塗りつぶしペイント属性を取得します。
|
FillRule |
getFillRule()
塗りつぶしおよびクリップ操作でのパスの内部を決定するための、塗りつぶしルール属性を取得します。
|
Font |
getFont()
現在のフォントを取得します。
|
FontSmoothingType |
getFontSmoothingType()
現在のフォント・スムージング・タイプを取得します。
|
double |
getGlobalAlpha()
現在のグローバル・アルファを取得します。
|
BlendMode |
getGlobalBlendMode()
グローバル・ブレンド・モードを取得します。
|
StrokeLineCap |
getLineCap()
現在のストローク・ライン・キャップを取得します。
|
double[] |
getLineDashes()
現在の破線配列のコピーを取得します。
|
double |
getLineDashOffset()
現在の破線オフセットを取得します。
|
StrokeLineJoin |
getLineJoin()
現在のストロークの線結合を取得します。
|
double |
getLineWidth()
現在の線幅を取得します。
|
double |
getMiterLimit()
現在の接合制限値を取得します。
|
PixelWriter |
getPixelWriter()
|
Paint |
getStroke()
現在のストロークを取得します。
|
TextAlignment |
getTextAlign()
現在の
TextAlignment を取得します。 |
VPos |
getTextBaseline()
現在のテキスト・ベースラインを取得します。
|
Affine |
getTransform()
現在の変換のコピーを返します。
|
Affine |
getTransform(Affine xform)
現在の変換を指定されたオブジェクトにコピーし、
Affine オブジェクトがnullの場合はその新しいオブジェクトを作成し、コピーが含まれるオブジェクトを返します。 |
boolean |
isPointInPath(double x, double y)
指定されたx、y点がパス内にある場合はtrueを返します。
|
void |
lineTo(double x1, double y1)
セグメントを現在のパスに追加し、指定されたx、y座標に線を作成します。
|
void |
moveTo(double x0, double y0)
現在のパスに対して、指定されたx、y座標への移動コマンドを発行します。
|
void |
quadraticCurveTo(double xc, double yc, double x1, double y1)
セグメントを現在のパスに追加して2次ベジェ曲線を作成します。
|
void |
rect(double x, double y, double w, double h)
パス要素を現在のパスに追加して矩形を作成します。
|
void |
restore()
スタックから状態を取り出し、次の属性をその状態がスタックにプッシュされたときの値に設定します。
|
void |
rotate(double degrees)
現在の変換を度単位で回転します。
|
void |
save()
次の属性をスタックに保存します。
|
void |
scale(double x, double y)
現在の変換をx、yだけスケーリングします。
|
void |
setEffect(Effect e)
次の描画呼出し後に適用される効果を設定するか、nullを設定して効果を無効にします。
|
void |
setFill(Paint p)
現在の塗りつぶしペイント属性を設定します。
|
void |
setFillRule(FillRule fillRule)
塗りつぶしまたはクリップ操作でのパスの内部を決定するための、塗りつぶしルール属性を設定します。
|
void |
setFont(Font f)
現在のフォントを設定します。
|
void |
setFontSmoothingType(FontSmoothingType fontsmoothing)
現在のフォント・スムージング・タイプを設定します。
|
void |
setGlobalAlpha(double alpha)
現在の状態のグローバル・アルファを設定します。
|
void |
setGlobalBlendMode(BlendMode op)
グローバル・ブレンド・モードを設定します。
|
void |
setLineCap(StrokeLineCap cap)
現在のストローク・ライン・キャップを設定します。
|
void |
setLineDashes(double... dashes)
現在のストローク破線パターンを引数の正規化されたコピーに設定します。
|
void |
setLineDashOffset(double dashOffset)
破線オフセットを設定します。
|
void |
setLineJoin(StrokeLineJoin join)
現在のストロークの線結合を設定します。
|
void |
setLineWidth(double lw)
現在の線幅を設定します。
|
void |
setMiterLimit(double ml)
現在の接合制限値を設定します。
|
void |
setStroke(Paint p)
現在のストローク・ペイント属性を設定します。
|
void |
setTextAlign(TextAlignment align)
テキスト原点
x に対して相対的な、水平方向のテキスト位置を定義します。 |
void |
setTextBaseline(VPos baseline)
現在のテキスト・ベースラインを設定します。
|
void |
setTransform(Affine xform)
現在の変換を設定します。
|
void |
setTransform(double mxx, double myx, double mxy, double myy, double mxt, double myt)
現在の変換を設定します。
|
void |
stroke()
現在のストローク・ペイントを使用してパスをストロークします。
|
void |
strokeArc(double x, double y, double w, double h, double startAngle, double arcExtent, ArcType closure)
現在のストローク・ペイントを使用して円弧の外周を描画します。
|
void |
strokeLine(double x1, double y1, double x2, double y2)
現在のストローク・ペイントを使用して線をストロークします。
|
void |
strokeOval(double x, double y, double w, double h)
現在のストローク・ペイントを使用して楕円をストロークします。
|
void |
strokePolygon(double[] xPoints, double[] yPoints, int nPoints)
現在設定されているストローク・ペイントを使用して指定された点を持つポリゴンをストロークします。
|
void |
strokePolyline(double[] xPoints, double[] yPoints, int nPoints)
現在設定されているストローク・ペイント属性を使用して指定された点を持つポリラインをストロークします。
|
void |
strokeRect(double x, double y, double w, double h)
現在のストローク・ペイントを使用して矩形をストロークします。
|
void |
strokeRoundRect(double x, double y, double w, double h, double arcWidth, double arcHeight)
現在のストローク・ペイントを使用して角の丸い矩形をストロークします。
|
void |
strokeText(String text, double x, double y)
現在のストローク・ペイント属性を使用して、指定されたテキストの文字列を位置x、yに描画します。
|
void |
strokeText(String text, double x, double y, double maxWidth)
ストローク・ペイントを使用してテキストを描画し、文字列の最大幅を含めます。
|
void |
transform(Affine xform)
入力を現在の変換と連結します。
|
void |
transform(double mxx, double myx, double mxy, double myy, double mxt, double myt)
入力を現在の変換と連結します。
|
void |
translate(double x, double y)
現在の変換をx、yだけ平行移動します。
|
public Canvas getCanvas()
GraphicsContext
が描画コマンドを発行しているCanvas
を取得します。GraphicsContext
には常に1つのCanvas
のみが存在します。GraphicsContext
が描画コマンドを発行しているキャンバスを返します。public void save()
public void restore()
public void translate(double x, double y)
x
- x軸に沿って平行移動する値y
- y軸に沿って平行移動する値public void scale(double x, double y)
x
- x軸でスケーリングする値y
- y軸でスケーリングする値public void rotate(double degrees)
degrees
- 現在の変換を回転する度単位の値。public void transform(double mxx, double myx, double mxy, double myy, double mxt, double myt)
mxx
- - 3×4行列のX座標スケーリング要素myx
- - 3×4行列のY座標シャーリング要素mxy
- - 3×4行列のX座標シャーリング要素myy
- - 3×4行列のY座標スケーリング要素mxt
- - 3×4行列のX座標平行移動要素myt
- - 3×4行列のY座標平行移動要素public void transform(Affine xform)
null
値は、恒等として処理されます。xform
- 現在の変換に連結されるアフィンまたはnull。public void setTransform(double mxx, double myx, double mxy, double myy, double mxt, double myt)
mxx
- - 3×4行列のX座標スケーリング要素myx
- - 3×4行列のY座標シャーリング要素mxy
- - 3×4行列のX座標シャーリング要素myy
- - 3×4行列のY座標スケーリング要素mxt
- - 3×4行列のX座標平行移動要素myt
- - 3×4行列のY座標平行移動要素public void setTransform(Affine xform)
xform
- 現在の変換としてコピーおよび使用されるアフィン。public Affine getTransform(Affine xform)
Affine
オブジェクトがnullの場合はその新しいオブジェクトを作成し、コピーが含まれるオブジェクトを返します。xform
- 結果の保持に使用される変換オブジェクト。xformがnullでない場合、このメソッドは現在の変換をそのオブジェクトにコピーします。xformがnullの場合、新しい変換オブジェクトが構築されます。いずれの場合も戻り値は現在の変換のコピーとなります。public Affine getTransform()
public void setGlobalAlpha(double alpha)
1.0
です。任意の有効なdoubleを設定できますが、範囲[0.0, 1.0]
内の値のみが有効であり、この範囲内の最も近い値がレンダリングに使用されます。グローバル・アルファは共通属性で、レンダリング属性表に示されているほぼすべてのレンダリング・メソッドで使用されます。alpha
- 新しいアルファ値で、実際の使用時に[0.0, 1.0]
に固定されます。public double getGlobalAlpha()
public void setGlobalBlendMode(BlendMode op)
SRC_OVER
です。null
値は無視され、現在の値は変更されません。ブレンド・モードは共通属性で、レンダリング属性表に示されているほぼすべてのレンダリング・メソッドで使用されます。op
- 設定されるBlendMode
またはnull。public BlendMode getGlobalBlendMode()
BlendMode
。public void setFill(Paint p)
BLACK
です。塗りつぶしペイントは塗りつぶし属性で、レンダリング属性表に示されているすべての塗りつぶしメソッドで使用できます。null
値は無視され、現在の値は変更されません。p
- 塗りつぶしPaint
として使用されるPaint
またはnull。public Paint getFill()
Paint
として使用されるPaint
。public void setStroke(Paint p)
BLACK
です。ストローク・ペイントはストローク属性で、レンダリング属性表に示されているすべてのストローク・メソッドで使用できます。null
値は無視され、現在の値は変更されません。p
- ストロークPaintとして使用されるPaintまたはnull。public Paint getStroke()
Paint
として使用されるPaint
。public void setLineWidth(double lw)
1.0
です。線幅はストローク属性で、レンダリング属性表に示されているすべてのストローク・メソッドで使用できます。範囲(0, +inf)
外の無限値または負の値は無視され、現在の値は変更されません。lw
- 範囲{0-positive infinity}内の値で、これ以外の値は無視され、値は変更されません。public double getLineWidth()
public void setLineCap(StrokeLineCap cap)
SQUARE
です。ライン・キャップはストローク属性で、レンダリング属性表に示されているすべてのストローク・メソッドで使用できます。null
値は無視され、現在の値は変更されません。cap
- 線端、丸め、四角またはnullの値を使用するStrokeLineCap
。public StrokeLineCap getLineCap()
StrokeLineCap
。public void setLineJoin(StrokeLineJoin join)
StrokeLineJoin.MITER
です。線結合はストローク属性で、レンダリング属性表に示されているすべてのストローク・メソッドで使用できます。null
値は無視され、現在の値は変更されません。join
- 角、ベベル、丸めまたはnullの値を使用するStrokeLineJoin
。public StrokeLineJoin getLineJoin()
StrokeLineJoin.MITER
です。線結合はストローク属性で、レンダリング属性表に示されているすべてのストローク・メソッドで使用できます。StrokeLineJoin
。public void setMiterLimit(double ml)
10.0
です。接合制限値はストローク属性で、レンダリング属性表に示されているすべてのストローク・メソッドで使用できます。範囲(0, +inf)
外の無限値または負の値は無視され、現在の値は変更されません。ml
- 0と正の無限値の間の接合制限値で、これ以外の値は無視され、値は変更されません。public double getMiterLimit()
0.0-positive infinity
内の接合制限値public void setLineDashes(double... dashes)
null
です。破線配列は、レンダリング属性表で指定されたストローク・メソッドで使用されるストローク属性の1つです。配列がnull
または空の場合や、すべて0
要素が含まれる場合、ダッシュ設定は無効になり、現在のダッシュ配列はnull
に設定されます。配列の要素のいずれかが負、無限または[0, +inf)
範囲外のNaNである場合、その配列全部が無視され、現在のダッシュ配列は変更されません。配列の長さが奇数の場合、その配列は互いに付加された2つのコピーのように扱われます。dashes
- 無限でなく負でもないダッシュの長さの配列public double[] getLineDashes()
null
です。配列は、setLineDashes(double...)
メソッドの検証テストによって正規化できます。破線配列は、レンダリング属性表で指定されたストローク・メソッドで使用されるストローク属性の1つです。public void setLineDashOffset(double dashOffset)
0.0
です。破線オフセットは、レンダリング属性表で指定されたストローク・メソッドで使用されるストローク属性の1つです。無限の値または(-inf, +inf)
範囲外のNaN値は無視され、現在のダッシュ配列は変更されません。dashOffset
- (-inf, +inf)
範囲内の破線オフセットpublic double getLineDashOffset()
(-inf, +inf)
範囲内の破線オフセットpublic void setFont(Font f)
Font.getDefault()
で指定されます。フォントはテキスト属性で、レンダリング属性表に示されているすべてのテキスト・メソッドで使用できます。null
値は無視され、現在の値は変更されません。f
- Fontまたはnull。public Font getFont()
public void setFontSmoothingType(FontSmoothingType fontsmoothing)
GRAY
です。フォント・スムージング・タイプは、レンダリング属性表で指定されたテキスト・メソッドで使用されるテキスト属性の1つです。null
値は無視され、現在の値は変更されません。
LCD
のFontSmoothingType
値は背景が不透明な場合にのみサポートされることに注意してください。LCD
テキストは通常、透明または半透明なテキストでGRAY
テキストとして表示されますが、実装によっては、アルファ・チャネルを含む等高線に対して必要なサポートが存在しないために、Canvas
でLCDテキストがまったくサポートされない場合もあります(すべてのCanvas
オブジェクトはアルファ・チャネルを含むため)。
fontsmoothing
- FontSmoothingType
またはnullpublic FontSmoothingType getFontSmoothingType()
FontSmoothingType
public void setTextAlign(TextAlignment align)
x
に対して相対的な、水平方向のテキスト位置を定義します。デフォルト値はLEFT
です。テキスト位置はテキスト属性で、レンダリング属性表に示されているすべてのテキスト・メソッドで使用できます。
水平方向の境界は、テキストの単一行の論理幅を表します。テキストの各行にはそれぞれ水平方向の境界があります。
TextAlignmentは次のように指定されています。
x
になります。
x
になります。
x
になります。
注意: キャンバスは行折返しをサポートしないため、テキスト位置両端揃えは左揃えのテキストと同じになります。
null
値は無視され、現在の値は変更されません。
align
- 左、中央、右またはnullの値を使用するTextAlignment
。public TextAlignment getTextAlign()
TextAlignment
。public void setTextBaseline(VPos baseline)
BASELINE
です。テキスト・ベースラインはテキスト属性で、レンダリング属性表に示されているすべてのテキスト・メソッドで使用できます。null
値は無視され、現在の値は変更されません。baseline
- 上、中央、ベースライン、下またはnullの値を使用するVPos
。public VPos getTextBaseline()
VPos
。public void fillText(String text, double x, double y)
null
テキスト値は無視されます。
このメソッドは、レンダリング属性表に示されている、グローバル共通、塗りつぶしおよびテキストのすべての属性の影響を受けます。
text
- テキストの文字列またはnull。x
- x軸上の位置y
- y軸上の位置public void strokeText(String text, double x, double y)
null
テキスト値は無視されます。
このメソッドは、レンダリング属性表に示されている、グローバル共通、ストロークおよびテキストのすべての属性の影響を受けます。
text
- テキストの文字列またはnull。x
- x軸上の位置y
- y軸上の位置public void fillText(String text, double x, double y, double maxWidth)
null
テキスト値は無視されます。
このメソッドは、レンダリング属性表に示されている、グローバル共通、塗りつぶしおよびテキストのすべての属性の影響を受けます。
text
- テキストの文字列またはnull。x
- x軸上の位置y
- y軸上の位置maxWidth
- テキスト文字列で使用可能な最大幅。public void strokeText(String text, double x, double y, double maxWidth)
null
テキスト値は無視されます。
このメソッドは、レンダリング属性表に示されている、グローバル共通、ストロークおよびテキストのすべての属性の影響を受けます。
text
- テキストの文字列またはnull。x
- x軸上の位置y
- y軸上の位置maxWidth
- テキスト文字列で使用可能な最大幅。public void setFillRule(FillRule fillRule)
FillRule.NON_ZERO
です。null
値は無視され、現在の値は変更されません。塗りつぶしルールはパス属性で、レンダリング属性表に示されているすべての塗りつぶしまたはクリップ・パス・メソッドで使用できます。fillRule
- Even_oddまたはNon_zeroまたはnullの値を使用するFillRule
。public FillRule getFillRule()
FillRule.NON_ZERO
です。塗りつぶしルールはパス属性で、レンダリング属性表に示されているすべての塗りつぶしまたはクリップ・パス・メソッドで使用できます。public void beginPath()
public void moveTo(double x0, double y0)
save()
およびrestore()
操作の影響は受けません。x0
- コマンドに対して移動するX位置。y0
- コマンドに対して移動するY位置。public void lineTo(double x1, double y1)
save()
およびrestore()
操作の影響は受けません。x1
- ラインの終点のX座標。y1
- ラインの終点のY座標。public void quadraticCurveTo(double xc, double yc, double x1, double y1)
save()
およびrestore()
操作の影響は受けません。xc
- 制御点のX座標yc
- 制御点のY座標x1
- 終点のX座標y1
- 終点のY座標public void bezierCurveTo(double xc1, double yc1, double xc2, double yc2, double x1, double y1)
save()
およびrestore()
操作の影響は受けません。xc1
- 最初のベジェ制御点のX座標。yc1
- 最初のベジェ制御点のY座標。xc2
- 2番目のベジェ制御点のX座標。yc2
- 2番目のベジェ制御点のY座標。x1
- 終点のX座標。y1
- 終点のY座標。public void arcTo(double x1, double y1, double x2, double y2, double radius)
save()
およびrestore()
操作の影響は受けません。
p0
がパスの現在点で、p1
が(x1, y1)
で指定された点、およびp2
が(x2, y2)
で指定された点の場合、追加される円弧セグメントは、指定された半径を持つ円の円周に沿ったセグメントとなり、p0->p1->p2
の凸(内)側に内接します。パスには、その円と、円とp1->p2
の間の接点に到達する円弧セグメントが続くp0->p1
の間の接点に対するライン・セグメントが含まれ(必要に応じて)、その接点(p2
ではない)の現在点で終わります。円弧セグメントの半径および真円度は現在の変換と相対的に測定または考慮されますが、これらの未変換点から計算されたセグメントはパスに追加されるときに変換されることに注意してください。すべての計算は未変換空間で実行されますが、既存のパス・セグメントはすべて変換されるため、計算を正確に実行できるかどうかは、現在のパスの現在の終点を未変換座標に逆変換できるかどうかに、暗黙的に依存します。
なんらかの理由により、指定された円を計算して内接させることができない場合は、操作全体で、単に、セグメントが追加されて、ラインが強制的にp1
を指すようにします。計算が失敗する場合は、次のような理由が考えられます。
p0->p1->p2
が同一線上にあります。x1
- 円弧の最初の点のX座標。y1
- 円弧の最初の点のY座標。x2
- 円弧の2番目の点のX座標。y2
- 円弧の2番目の点のY座標。radius
- 範囲{0.0-positive infinity}内の円弧の半径。public void arc(double centerX, double centerY, double radiusX, double radiusY, double startAngle, double length)
save()
およびrestore()
操作の影響は受けません。centerX
- 円弧の中央のx位置。centerY
- 円弧の中央のy位置。radiusX
- 円弧のx半径。radiusY
- 円弧のy半径。startAngle
- 範囲0-360.0
の円弧の始角length
- 円弧のベースラインの長さ。public void rect(double x, double y, double w, double h)
save()
およびrestore()
操作の影響は受けません。x
- 矩形の左上隅のx位置。y
- 矩形の左上隅のy位置。w
- 矩形の幅。h
- 矩形の高さ。public void appendSVGPath(String svgpath)
null
値または不適切なSVGパスは無視されます。座標はパスに追加された時点の最新の変換によって変換され、その後変換に加えられた変更の影響を受けません。現在のパスはパス属性で、レンダリング属性表に示されているすべてのパス・メソッドで使用でき、save()
およびrestore()
操作の影響は受けません。svgpath
- SVG Path文字列。public void closePath()
public void fill()
public void stroke()
public void clip()
public boolean isPointInPath(double x, double y)
x
- チェックに使用するX座標。y
- チェックに使用するY座標。public void clearRect(double x, double y, double w, double h)
このメソッドは、現在の変換、クリップおよび効果のみの影響を受けます。
x
- 矩形の左上隅のX位置。y
- 矩形の左上隅のY位置。w
- 矩形の幅。h
- 矩形の高さ。public void fillRect(double x, double y, double w, double h)
x
- 矩形の左上隅のX位置。y
- 矩形の左上隅のY位置。w
- 矩形の幅。h
- 矩形の高さ。public void strokeRect(double x, double y, double w, double h)
x
- 矩形の左上隅のX位置。y
- 矩形の左上隅のY位置。w
- 矩形の幅。h
- 矩形の高さ。public void fillOval(double x, double y, double w, double h)
x
- 楕円の左上の境界のX座標。y
- 楕円の左上の境界のY座標。w
- 楕円の中央の幅。h
- 楕円の中央の高さ。public void strokeOval(double x, double y, double w, double h)
x
- 楕円の左上の境界のX座標。y
- 楕円の左上の境界のY座標。w
- 楕円の中央の幅。h
- 楕円の中央の高さ。public void fillArc(double x, double y, double w, double h, double startAngle, double arcExtent, ArcType closure)
null
または幅または高さが負の場合は、レンダリング・コマンドは無視されます。
x
- 円弧のX座標。y
- 円弧のY座標。w
- 円弧の幅。h
- 円弧の高さ。startAngle
- 円弧の始角(度単位)。arcExtent
- 円弧の角の大きさ(度単位)。closure
- 閉じタイプ(丸め、弦型、開く)またはnull。public void strokeArc(double x, double y, double w, double h, double startAngle, double arcExtent, ArcType closure)
null
または幅または高さが負の場合は、レンダリング・コマンドは無視されます。
x
- 円弧のX座標。y
- 円弧のY座標。w
- 円弧の幅。h
- 円弧の高さ。startAngle
- 円弧の始角(度単位)。arcExtent
- 円弧の角の大きさ(度単位)。closure
- 閉じタイプ(丸め、弦型、開く)またはnullpublic void fillRoundRect(double x, double y, double w, double h, double arcWidth, double arcHeight)
x
- 楕円の左上の境界のX座標。y
- 楕円の左上の境界のY座標。w
- 楕円の中央の幅。h
- 楕円の中央の高さ。arcWidth
- 矩形の隅の円弧幅。arcHeight
- 矩形の隅の円弧高。public void strokeRoundRect(double x, double y, double w, double h, double arcWidth, double arcHeight)
x
- 楕円の左上の境界のX座標。y
- 楕円の左上の境界のY座標。w
- 楕円の中央の幅。h
- 楕円の中央の高さ。arcWidth
- 矩形の隅の円弧幅。arcHeight
- 矩形の隅の円弧高。public void strokeLine(double x1, double y1, double x2, double y2)
x1
- ラインの始点のX座標。y1
- ラインの始点のY座標。x2
- ラインの終点のX座標。y2
- ラインの終点のY座標。public void fillPolygon(double[] xPoints, double[] yPoints, int nPoints)
null
値は無視され、描画されません。
このメソッドは、レンダリング属性表に示されている、グローバル共通、塗りつぶしおよび塗りつぶしルールのすべての属性の影響を受けます。
xPoints
- ポリゴンの点のx座標を含む配列またはnull。yPoints
- ポリゴンの点のy座標を含む配列またはnull。nPoints
- ポリゴンを作成する点の数。public void strokePolygon(double[] xPoints, double[] yPoints, int nPoints)
null
値は無視され、描画されません。
xPoints
- ポリゴンの点のx座標を含む配列またはnull。yPoints
- ポリゴンの点のy座標を含む配列またはnull。nPoints
- ポリゴンを作成する点の数。public void strokePolyline(double[] xPoints, double[] yPoints, int nPoints)
null
値は無視され、描画されません。
xPoints
- ポリラインの点のx座標を含む配列またはnull。yPoints
- ポリラインの点のy座標を含む配列またはnull。nPoints
- ポリラインを作成する点の数。public void drawImage(Image img, double x, double y)
null
のイメージ値または処理中のイメージは無視されます。
img
- 描画されるイメージまたはnull。x
- イメージの左上のデスティネーションのX座標。y
- イメージの左上のデスティネーションのY座標。public void drawImage(Image img, double x, double y, double w, double h)
null
のイメージ値または処理中のイメージは無視されます。
img
- 描画されるイメージまたはnull。x
- イメージの左上のデスティネーションのX座標。y
- イメージの左上のデスティネーションのY座標。w
- デスティネーション矩形の幅。h
- デスティネーション矩形の高さ。public void drawImage(Image img, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh)
null
のイメージ値または処理中のイメージは無視されます。
img
- 描画されるイメージまたはnull。sx
- ソース矩形のX座標位置。sy
- ソース矩形のY座標位置。sw
- ソース矩形の幅。sh
- ソース矩形の高さ。dx
- デスティネーション矩形のX座標位置。dy
- デスティネーション矩形のY座標位置。dw
- デスティネーション矩形の幅。dh
- デスティネーション矩形の高さ。public PixelWriter getPixelWriter()
GraphicsContext
に関連付けられているCanvas
のピクセルの変更に使用可能なPixelWriter
オブジェクトを返します。このオブジェクトを使用してピクセルを変更する場合は、座標はピクセルを直接参照し、他のレンダリング属性が適用されないため、返されたオブジェクトのPixelWriter
メソッドのすべての座標はデバイス空間に存在することになります。Canvas
のピクセルを変更するPixelWriter
public void setEffect(Effect e)
e
- 使用する効果、または効果を無効にする場合はnullpublic Effect getEffect(Effect e)
e
- 現在の効果のコピーの格納に使用できるEffect
オブジェクト(互換性のあるタイプの場合)public void applyEffect(Effect e)
null
値は無視されます。効果はその他のレンダリング属性がなくても適用され、恒等座標変換で適用されます。効果はキャンバスの境界全体に適用されるため、一部の効果の結果が紛らわしいものとなる場合があります。たとえば、キャンバスの一部のみがレンダリングされても、キャンバスの下部からリフレクションを適用するリフレクション効果では、負のオフセットを使用してリフレクションをビューに戻す場合を除いて、表示されなくなります。e
- デスティネーション全体に適用する効果またはnull。Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.