- java.lang.Object
-
- javafx.scene.canvas.GraphicsContext
-
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()に適用されます。
[2] Fill RuleのみがfillPolygon()に適用され、現在のパスは変更されませんテキストのレンダリング 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が適用されます。
[5] fill()およびclip()ではFill Ruleのみが使用されますイメージのレンダリング 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);
- 導入されたバージョン:
- JavaFX 2.2
- 関連項目:
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()
このGraphicsContext
に関連付けられているCanvas
のピクセルの変更に使用可能なPixelWriter
オブジェクトを返します。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(double mxx, double myx, double mxy, double myy, double mxt, double myt)
現在の変換を設定します。void
setTransform(Affine xform)
現在の変換を設定します。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(double mxx, double myx, double mxy, double myy, double mxt, double myt)
入力を現在の変換と連結します。void
transform(Affine xform)
入力を現在の変換と連結します。void
translate(double x, double y)
現在の変換をx、yだけ平行移動します。
-
-
-
メソッドの詳細
-
getCanvas
public Canvas getCanvas()
GraphicsContext
が描画コマンドを発行しているCanvas
を取得します。GraphicsContext
には常に1つのCanvas
のみが存在します。- 戻り値:
- この
GraphicsContext
が描画コマンドを発行しているキャンバスを返します。
-
save
public void save()
次の属性をスタックに保存します。- Global Alpha
- Global Blend Operation
- Transform
- Fill Paint
- Stroke Paint
- Line Width
- Line Cap
- Line Join
- Miter Limit
- Clip
- Font
- Text Align
- Text Baseline
- Effect
- Fill Rule
-
restore
public void restore()
スタックから状態を取り出し、次の属性をその状態がスタックにプッシュされたときの値に設定します。 スタックが空の場合は何も変更されません。- Global Alpha
- Global Blend Operation
- Transform
- Fill Paint
- Stroke Paint
- Line Width
- Line Cap
- Line Join
- Miter Limit
- Clip
- Font
- Text Align
- Text Baseline
- Effect
- Fill Rule
-
translate
public void translate(double x, double y)
現在の変換をx、yだけ平行移動します。- パラメータ:
x
- x軸に沿って平行移動する値y
- y軸に沿って平行移動する値
-
scale
public void scale(double x, double y)
現在の変換をx、yだけスケーリングします。- パラメータ:
x
- x軸でスケーリングする値y
- y軸でスケーリングする値
-
rotate
public void rotate(double degrees)
現在の変換を度単位で回転します。- パラメータ:
degrees
- 現在の変換を回転する度単位の値。
-
transform
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座標平行移動要素
-
transform
public void transform(Affine xform)
入力を現在の変換と連結します。 2D変換のみサポートされています。 使用される値は、平行移動のXおよびYスケーリング、移動およびシャーリング・コンポーネントのみです。null
値は、恒等として処理されます。- パラメータ:
xform
- 現在の変換に連結されるアフィンまたはnull。
-
setTransform
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座標平行移動要素
-
setTransform
public void setTransform(Affine xform)
現在の変換を設定します。 2D変換のみサポートされています。 使用される値は、平行移動のXおよびYスケーリング、移動およびシャーリング・コンポーネントのみです。- パラメータ:
xform
- 現在の変換としてコピーおよび使用されるアフィン。
-
getTransform
public Affine getTransform(Affine xform)
現在の変換を指定されたオブジェクトにコピーし、Affine
オブジェクトがnullの場合はその新しいオブジェクトを作成し、コピーが含まれるオブジェクトを返します。- パラメータ:
xform
- 結果の保持に使用される変換オブジェクト。 xformがnullでない場合、このメソッドは現在の変換をそのオブジェクトにコピーします。 xformがnullの場合、新しい変換オブジェクトが構築されます。 いずれの場合も戻り値は現在の変換のコピーとなります。- 戻り値:
- 現在の変換のコピー。
-
getTransform
public Affine getTransform()
現在の変換のコピーを返します。- 戻り値:
- 現在の状態の変換のコピー。
-
setGlobalAlpha
public void setGlobalAlpha(double alpha)
現在の状態のグローバル・アルファを設定します。 デフォルト値は1.0
です。 任意の有効なdoubleを設定できますが、範囲[0.0, 1.0]
内の値のみが有効であり、この範囲内の最も近い値がレンダリングに使用されます。 グローバル・アルファは共通属性で、レンダリング属性表に示されているほぼすべてのレンダリング・メソッドで使用されます。- パラメータ:
alpha
- 新しいアルファ値で、実際の使用時に[0.0, 1.0]
に固定されます。
-
getGlobalAlpha
public double getGlobalAlpha()
- 戻り値:
- 現在のグローバル・アルファ。
-
setGlobalBlendMode
public void setGlobalBlendMode(BlendMode op)
グローバル・ブレンド・モードを設定します。 デフォルト値はSRC_OVER
です。null
値は無視され、現在の値は変更されません。 ブレンド・モードは共通属性で、レンダリング属性表に示されているほぼすべてのレンダリング・メソッドで使用されます。- パラメータ:
op
- 設定されるBlendMode
またはnull。
-
getGlobalBlendMode
public BlendMode getGlobalBlendMode()
- 戻り値:
- 現在の状態のグローバル
BlendMode
。
-
setFill
public void setFill(Paint p)
現在の塗りつぶしペイント属性を設定します。 デフォルト値はBLACK
です。 塗りつぶしペイントは塗りつぶし属性で、レンダリング属性表に示されているすべての塗りつぶしメソッドで使用できます。null
値は無視され、現在の値は変更されません。- パラメータ:
p
- 塗りつぶしPaint
として使用されるPaint
またはnull。
-
getFill
public Paint getFill()
- 戻り値:
- 塗りつぶし
Paint
として使用されるPaint
。
-
setStroke
public void setStroke(Paint p)
現在のストローク・ペイント属性を設定します。 デフォルト値はBLACK
です。 ストローク・ペイントはストローク属性で、レンダリング属性表に示されているすべてのストローク・メソッドで使用できます。null
値は無視され、現在の値は変更されません。- パラメータ:
p
- ストロークPaintとして使用されるPaintまたはnull。
-
getStroke
public Paint getStroke()
- 戻り値:
- ストローク
Paint
として使用されるPaint
。
-
setLineWidth
public void setLineWidth(double lw)
現在の線幅を設定します。 デフォルト値は1.0
です。 線幅はストローク属性で、レンダリング属性表に示されているすべてのストローク・メソッドで使用できます。 範囲(0, +inf)
外の無限値または負の値は無視され、現在の値は変更されません。- パラメータ:
lw
- 範囲{0-positive infinity}内の値で、これ以外の値は無視され、値は変更されません。
-
getLineWidth
public double getLineWidth()
- 戻り値:
- 0と無限大の間の値
-
setLineCap
public void setLineCap(StrokeLineCap cap)
現在のストローク・ライン・キャップを設定します。 デフォルト値はSQUARE
です。 ライン・キャップはストローク属性で、レンダリング属性表に示されているすべてのストローク・メソッドで使用できます。null
値は無視され、現在の値は変更されません。- パラメータ:
cap
- 線端、丸め、四角またはnullの値を使用するStrokeLineCap
。
-
getLineCap
public StrokeLineCap getLineCap()
- 戻り値:
- 線端、丸めまたは四角の値を使用する
StrokeLineCap
。
-
setLineJoin
public void setLineJoin(StrokeLineJoin join)
現在のストロークの線結合を設定します。 デフォルト値はStrokeLineJoin.MITER
です。 線結合はストローク属性で、レンダリング属性表に示されているすべてのストローク・メソッドで使用できます。null
値は無視され、現在の値は変更されません。- パラメータ:
join
- 角、ベベル、丸めまたはnullの値を使用するStrokeLineJoin
。
-
getLineJoin
public StrokeLineJoin getLineJoin()
現在のストロークの線結合を取得します。 デフォルト値はStrokeLineJoin.MITER
です。 線結合はストローク属性で、レンダリング属性表に示されているすべてのストローク・メソッドで使用できます。- 戻り値:
- 角、ベベルまたは丸めの値を使用する
StrokeLineJoin
。
-
setMiterLimit
public void setMiterLimit(double ml)
現在の接合制限値を設定します。 デフォルト値は、10.0
です。 接合制限値はストローク属性で、レンダリング属性表に示されているすべてのストローク・メソッドで使用できます。 範囲(0, +inf)
外の無限値または負の値は無視され、現在の値は変更されません。- パラメータ:
ml
- 0と正の無限値の間の接合制限値で、これ以外の値は無視され、値は変更されません。
-
getMiterLimit
public double getMiterLimit()
- 戻り値:
- 範囲
0.0-positive infinity
内の接合制限値
-
setLineDashes
public void setLineDashes(double... dashes)
現在のストローク破線パターンを引数の正規化されたコピーに設定します。 デフォルト値はnull
です。 破線配列は、レンダリング属性表で指定されたストローク・メソッドで使用されるストローク属性の1つです。 配列がnull
または空の場合や、すべて0
要素が含まれる場合、ダッシュ設定は無効になり、現在のダッシュ配列はnull
に設定されます。 配列の要素のいずれかが負、無限または[0, +inf)
範囲外のNaNである場合、その配列全部が無視され、現在のダッシュ配列は変更されません。 配列の長さが奇数の場合、その配列は互いに付加された2つのコピーのように扱われます。- パラメータ:
dashes
- 無限でなく負でもないダッシュの長さの配列- 導入されたバージョン:
- JavaFX 8u40
-
getLineDashes
public double[] getLineDashes()
現在の破線配列のコピーを取得します。 デフォルト値はnull
です。 配列は、setLineDashes(double...)
メソッドの検証テストによって正規化できます。 破線配列は、レンダリング属性表で指定されたストローク・メソッドで使用されるストローク属性の1つです。- 戻り値:
- 現在の破線配列のコピー。
- 導入されたバージョン:
- JavaFX 8u40
-
setLineDashOffset
public void setLineDashOffset(double dashOffset)
破線オフセットを設定します。 デフォルト値は、0.0
です。 破線オフセットは、レンダリング属性表で指定されたストローク・メソッドで使用されるストローク属性の1つです。 無限の値または(-inf, +inf)
範囲外のNaN値は無視され、現在のダッシュ配列は変更されません。- パラメータ:
dashOffset
-(-inf, +inf)
範囲内の破線オフセット- 導入されたバージョン:
- JavaFX 8u40
-
getLineDashOffset
public double getLineDashOffset()
- 戻り値:
(-inf, +inf)
範囲内の破線オフセット- 導入されたバージョン:
- JavaFX 8u40
-
setFont
public void setFont(Font f)
現在のフォントを設定します。 デフォルト値はFont.getDefault()
で指定されます。 フォントはテキスト属性で、レンダリング属性表に示されているすべてのテキスト・メソッドで使用できます。null
値は無視され、現在の値は変更されません。- パラメータ:
f
- Fontまたはnull。
-
getFont
public Font getFont()
- 戻り値:
- Font
-
setFontSmoothingType
public void setFontSmoothingType(FontSmoothingType fontsmoothing)
現在のフォント・スムージング・タイプを設定します。 デフォルト値はGRAY
です。 フォント・スムージング・タイプは、レンダリング属性表で指定されたテキスト・メソッドで使用されるテキスト属性の1つです。null
値は無視され、現在の値は変更されません。LCD
のFontSmoothingType
値は背景が不透明な場合にのみサポートされることに注意してください。LCD
テキストは通常、透明または半透明なテキストでGRAY
テキストとして表示されますが、実装によっては、アルファ・チャネルを含む等高線に対して必要なサポートが存在しないために、Canvas
でLCDテキストがまったくサポートされない場合もあります(すべてのCanvas
オブジェクトはアルファ・チャネルを含むため)。- パラメータ:
fontsmoothing
-FontSmoothingType
またはnull- 導入されたバージョン:
- JavaFX 8u40
-
getFontSmoothingType
public FontSmoothingType getFontSmoothingType()
現在のフォント・スムージング・タイプを取得します。 デフォルト値はGRAY
です。 フォント・スムージング・タイプは、レンダリング属性表で指定されたテキスト・メソッドで使用されるテキスト属性の1つです。- 戻り値:
FontSmoothingType
- 導入されたバージョン:
- JavaFX 8u40
-
setTextAlign
public void setTextAlign(TextAlignment align)
テキスト原点x
に対して相対的な、水平方向のテキスト位置を定義します。 デフォルト値はLEFT
です。 テキスト位置はテキスト属性で、レンダリング属性表に示されているすべてのテキスト・メソッドで使用できます。水平方向の境界は、テキストの単一行の論理幅を表します。 テキストの各行にはそれぞれ水平方向の境界があります。
TextAlignmentは次のように指定されています。
- 左: 水平方向の境界の左端は
x
になります。 - 中央: 水平方向の境界の中心(左端と右端の中間)は
x
になります。 - 右: 水平方向の境界の右端は
x
になります。
注意: キャンバスは行折返しをサポートしないため、テキスト位置両端揃えは左揃えのテキストと同じになります。
null
値は無視され、現在の値は変更されません。- パラメータ:
align
- 左、中央、右またはnullの値を使用するTextAlignment
。
- 左: 水平方向の境界の左端は
-
getTextAlign
public TextAlignment getTextAlign()
- 戻り値:
- 左、中央、右または両端揃えの値を使用する
TextAlignment
。
-
setTextBaseline
public void setTextBaseline(VPos baseline)
現在のテキスト・ベースラインを設定します。 デフォルト値はBASELINE
です。 テキスト・ベースラインはテキスト属性で、レンダリング属性表に示されているすべてのテキスト・メソッドで使用できます。null
値は無視され、現在の値は変更されません。- パラメータ:
baseline
- 上、中央、ベースライン、下またはnullの値を使用するVPos
。
-
getTextBaseline
public VPos getTextBaseline()
- 戻り値:
- 上、中央、ベースラインまたは下の値を使用する
VPos
。
-
fillText
public void fillText(String text, double x, double y)
現在の塗りつぶしペイント属性を使用して、位置x、yの指定されたテキストの文字列を入力します。null
テキスト値は無視されます。このメソッドは、レンダリング属性表に示されている、グローバル共通、塗りつぶしおよびテキストのすべての属性の影響を受けます。
- パラメータ:
text
- テキストの文字列またはnull。x
- x軸上の位置y
- y軸上の位置
-
strokeText
public void strokeText(String text, double x, double y)
現在のストローク・ペイント属性を使用して、指定されたテキストの文字列を位置x、yに描画します。null
テキスト値は無視されます。このメソッドは、レンダリング属性表に示されている、グローバル共通、ストロークおよびテキストのすべての属性の影響を受けます。
- パラメータ:
text
- テキストの文字列またはnull。x
- x軸上の位置y
- y軸上の位置
-
fillText
public void fillText(String text, double x, double y, double maxWidth)
テキストを入力し、文字列の最大幅を含めます。 テキストの幅が過去の最大幅を超える場合は、適合するようにサイズ調整されます。null
テキスト値は無視されます。このメソッドは、レンダリング属性表に示されている、グローバル共通、塗りつぶしおよびテキストのすべての属性の影響を受けます。
- パラメータ:
text
- テキストの文字列またはnull。x
- x軸上の位置y
- y軸上の位置maxWidth
- テキスト文字列で使用可能な最大幅。
-
strokeText
public void strokeText(String text, double x, double y, double maxWidth)
ストローク・ペイントを使用してテキストを描画し、文字列の最大幅を含めます。 テキストの幅が過去の最大幅を超える場合は、適合するようにサイズ調整されます。null
テキスト値は無視されます。このメソッドは、レンダリング属性表に示されている、グローバル共通、ストロークおよびテキストのすべての属性の影響を受けます。
- パラメータ:
text
- テキストの文字列またはnull。x
- x軸上の位置y
- y軸上の位置maxWidth
- テキスト文字列で使用可能な最大幅。
-
setFillRule
public void setFillRule(FillRule fillRule)
塗りつぶしまたはクリップ操作でのパスの内部を決定するための、塗りつぶしルール属性を設定します。 デフォルト値はFillRule.NON_ZERO
です。null
値は無視され、現在の値は変更されません。 塗りつぶしルールはパス属性で、レンダリング属性表に示されているすべての塗りつぶしまたはクリップ・パス・メソッドで使用できます。- パラメータ:
fillRule
- Even_oddまたはNon_zeroまたはnullの値を使用するFillRule
。
-
getFillRule
public FillRule getFillRule()
塗りつぶしおよびクリップ操作でのパスの内部を決定するための、塗りつぶしルール属性を取得します。 デフォルト値はFillRule.NON_ZERO
です。 塗りつぶしルールはパス属性で、レンダリング属性表に示されているすべての塗りつぶしまたはクリップ・パス・メソッドで使用できます。- 戻り値:
- 現在の塗りつぶしルール。
-
beginPath
public void beginPath()
-
moveTo
public void moveTo(double x0, double y0)
現在のパスに対して、指定されたx、y座標への移動コマンドを発行します。 座標はパスに追加された時点の最新の変換によって変換され、その後変換に加えられた変更の影響を受けません。 現在のパスはパス属性で、レンダリング属性表に示されているすべてのパス・メソッドで使用でき、save()
およびrestore()
操作の影響は受けません。- パラメータ:
x0
- コマンドに対して移動するX位置。y0
- コマンドに対して移動するY位置。
-
lineTo
public void lineTo(double x1, double y1)
セグメントを現在のパスに追加し、指定されたx、y座標に線を作成します。 座標はパスに追加された時点の最新の変換によって変換され、その後変換に加えられた変更の影響を受けません。 現在のパスはパス属性で、レンダリング属性表に示されているすべてのパス・メソッドで使用でき、save()
およびrestore()
操作の影響は受けません。- パラメータ:
x1
- ラインの終点のX座標。y1
- ラインの終点のY座標。
-
quadraticCurveTo
public void quadraticCurveTo(double xc, double yc, double x1, double y1)
セグメントを現在のパスに追加して2次ベジェ曲線を作成します。 座標はパスに追加された時点の最新の変換によって変換され、その後変換に加えられた変更の影響を受けません。 現在のパスはパス属性で、レンダリング属性表に示されているすべてのパス・メソッドで使用でき、save()
およびrestore()
操作の影響は受けません。- パラメータ:
xc
- 制御点のX座標yc
- 制御点のY座標x1
- 終点のX座標y1
- 終点のY座標
-
bezierCurveTo
public void bezierCurveTo(double xc1, double yc1, double xc2, double yc2, double x1, double y1)
セグメントを現在のパスに追加して3次ベジェ曲線を作成します。 座標はパスに追加された時点の最新の変換によって変換され、その後変換に加えられた変更の影響を受けません。 現在のパスはパス属性で、レンダリング属性表に示されているすべてのパス・メソッドで使用でき、save()
およびrestore()
操作の影響は受けません。- パラメータ:
xc1
- 最初のベジェ制御点のX座標。yc1
- 最初のベジェ制御点のY座標。xc2
- 2番目のベジェ制御点のX座標。yc2
- 2番目のベジェ制御点のY座標。x1
- 終点のX座標。y1
- 終点のY座標。
-
arcTo
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}内の円弧の半径。
-
arc
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
- 円弧のベースラインの長さ。
-
rect
public void rect(double x, double y, double w, double h)
パス要素を現在のパスに追加して矩形を作成します。 座標はパスに追加された時点の最新の変換によって変換され、その後変換に加えられた変更の影響を受けません。 現在のパスはパス属性で、レンダリング属性表に示されているすべてのパス・メソッドで使用でき、save()
およびrestore()
操作の影響は受けません。- パラメータ:
x
- 矩形の左上隅のx位置。y
- 矩形の左上隅のy位置。w
- 矩形の幅。h
- 矩形の高さ。
-
appendSVGPath
public void appendSVGPath(String svgpath)
SVG Path文字列を現在のパスに追加します。 現在のパスがない場合、文字列の先頭は、いずれかのタイプの移動コマンドである必要があります。null
値または不適切なSVGパスは無視されます。 座標はパスに追加された時点の最新の変換によって変換され、その後変換に加えられた変更の影響を受けません。 現在のパスはパス属性で、レンダリング属性表に示されているすべてのパス・メソッドで使用でき、save()
およびrestore()
操作の影響は受けません。- パラメータ:
svgpath
- SVG Path文字列。
-
closePath
public void closePath()
-
fill
public void fill()
-
stroke
public void stroke()
-
clip
public void clip()
-
isPointInPath
public boolean isPointInPath(double x, double y)
指定されたx、y点がパス内にある場合はtrueを返します。- パラメータ:
x
- チェックに使用するX座標。y
- チェックに使用するY座標。- 戻り値:
- 指定された点がパス内にある場合はtrue、そうでない場合はfalse。
-
clearRect
public void clearRect(double x, double y, double w, double h)
透明色値を持つキャンバスの一部をクリアします。このメソッドは、現在の変換、クリップおよび効果のみの影響を受けます。
- パラメータ:
x
- 矩形の左上隅のX位置。y
- 矩形の左上隅のY位置。w
- 矩形の幅。h
- 矩形の高さ。
-
fillRect
public void fillRect(double x, double y, double w, double h)
- パラメータ:
x
- 矩形の左上隅のX位置。y
- 矩形の左上隅のY位置。w
- 矩形の幅。h
- 矩形の高さ。
-
strokeRect
public void strokeRect(double x, double y, double w, double h)
- パラメータ:
x
- 矩形の左上隅のX位置。y
- 矩形の左上隅のY位置。w
- 矩形の幅。h
- 矩形の高さ。
-
fillOval
public void fillOval(double x, double y, double w, double h)
- パラメータ:
x
- 楕円の左上の境界のX座標。y
- 楕円の左上の境界のY座標。w
- 楕円の中央の幅。h
- 楕円の中央の高さ。
-
strokeOval
public void strokeOval(double x, double y, double w, double h)
- パラメータ:
x
- 楕円の左上の境界のX座標。y
- 楕円の左上の境界のY座標。w
- 楕円の中央の幅。h
- 楕円の中央の高さ。
-
fillArc
public void fillArc(double x, double y, double w, double h, double startAngle, double arcExtent, ArcType closure)
現在の塗りつぶしペイントを使用して円弧を塗りつぶします。 ArcTypeがnull
または幅または高さが負の場合は、レンダリング・コマンドは無視されます。- パラメータ:
x
- 円弧のX座標。y
- 円弧のY座標。w
- 円弧の幅。h
- 円弧の高さ。startAngle
- 円弧の始角(度単位)。arcExtent
- 円弧の角の大きさ(度単位)。closure
- 閉じタイプ(丸め、弦型、開く)またはnull。
-
strokeArc
public void strokeArc(double x, double y, double w, double h, double startAngle, double arcExtent, ArcType closure)
現在のストローク・ペイントを使用して円弧の外周を描画します。 ArcTypeがnull
または幅または高さが負の場合は、レンダリング・コマンドは無視されます。- パラメータ:
x
- 円弧のX座標。y
- 円弧のY座標。w
- 円弧の幅。h
- 円弧の高さ。startAngle
- 円弧の始角(度単位)。arcExtent
- 円弧の角の大きさ(度単位)。closure
- 閉じタイプ(丸め、弦型、開く)またはnull
-
fillRoundRect
public void fillRoundRect(double x, double y, double w, double h, double arcWidth, double arcHeight)
- パラメータ:
x
- 楕円の左上の境界のX座標。y
- 楕円の左上の境界のY座標。w
- 楕円の中央の幅。h
- 楕円の中央の高さ。arcWidth
- 矩形の隅の円弧幅。arcHeight
- 矩形の隅の円弧高。
-
strokeRoundRect
public void strokeRoundRect(double x, double y, double w, double h, double arcWidth, double arcHeight)
- パラメータ:
x
- 楕円の左上の境界のX座標。y
- 楕円の左上の境界のY座標。w
- 楕円の中央の幅。h
- 楕円の中央の高さ。arcWidth
- 矩形の隅の円弧幅。arcHeight
- 矩形の隅の円弧高。
-
strokeLine
public void strokeLine(double x1, double y1, double x2, double y2)
- パラメータ:
x1
- ラインの始点のX座標。y1
- ラインの始点のY座標。x2
- ラインの終点のX座標。y2
- ラインの終点のY座標。
-
fillPolygon
public void fillPolygon(double[] xPoints, double[] yPoints, int nPoints)
現在設定されている塗りつぶしペイントを使用して、指定された点を持つポリゴンを塗りつぶします。 いずれの配列もnull
値は無視され、描画されません。このメソッドは、レンダリング属性表に示されている、グローバル共通、塗りつぶしおよび塗りつぶしルールのすべての属性の影響を受けます。
- パラメータ:
xPoints
- ポリゴンの点のx座標を含む配列またはnull。yPoints
- ポリゴンの点のy座標を含む配列またはnull。nPoints
- ポリゴンを作成する点の数。
-
strokePolygon
public void strokePolygon(double[] xPoints, double[] yPoints, int nPoints)
現在設定されているストローク・ペイントを使用して指定された点を持つポリゴンをストロークします。 いずれの配列もnull
値は無視され、描画されません。- パラメータ:
xPoints
- ポリゴンの点のx座標を含む配列またはnull。yPoints
- ポリゴンの点のy座標を含む配列またはnull。nPoints
- ポリゴンを作成する点の数。
-
strokePolyline
public void strokePolyline(double[] xPoints, double[] yPoints, int nPoints)
現在設定されているストローク・ペイント属性を使用して指定された点を持つポリラインをストロークします。 いずれの配列もnull
値は無視され、描画されません。- パラメータ:
xPoints
- ポリラインの点のx座標を含む配列またはnull。yPoints
- ポリラインの点のy座標を含む配列またはnull。nPoints
- ポリラインを作成する点の数。
-
drawImage
public void drawImage(Image img, double x, double y)
指定されたx、yの位置に、指定されたイメージの幅と高さを使用してイメージを描画します。null
のイメージ値または処理中のイメージは無視されます。- パラメータ:
img
- 描画されるイメージまたはnull。x
- イメージの左上のデスティネーションのX座標。y
- イメージの左上のデスティネーションのY座標。
-
drawImage
public void drawImage(Image img, double x, double y, double w, double h)
キャンバスの指定されたデスティネーション矩形にイメージを描画します。 イメージは、デスティネーション矩形に収まるようにスケーリングされます。null
のイメージ値または処理中のイメージは無視されます。- パラメータ:
img
- 描画されるイメージまたはnull。x
- イメージの左上のデスティネーションのX座標。y
- イメージの左上のデスティネーションのY座標。w
- デスティネーション矩形の幅。h
- デスティネーション矩形の高さ。
-
drawImage
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
- デスティネーション矩形の高さ。
-
getPixelWriter
public PixelWriter getPixelWriter()
このGraphicsContext
に関連付けられているCanvas
のピクセルの変更に使用可能なPixelWriter
オブジェクトを返します。 このオブジェクトを使用してピクセルを変更する場合は、座標はピクセルを直接参照し、他のレンダリング属性が適用されないため、返されたオブジェクトのPixelWriter
メソッドのすべての座標はデバイス空間に存在することになります。- 戻り値:
- この
Canvas
のピクセルを変更するPixelWriter
-
setEffect
public void setEffect(Effect e)
- パラメータ:
e
- 使用する効果、または効果を無効にする場合はnull
-
getEffect
public Effect getEffect(Effect e)
次の描画呼出し後に適用される効果のコピーを取得します。 null戻り値は、後続のレンダリング呼出し後に効果が適用されないことを意味します。 現在の効果は共通属性で、レンダリング属性表に示されているほぼすべてのレンダリング操作で使用されます。- パラメータ:
e
- 現在の効果のコピーの格納に使用できるEffect
オブジェクト(互換性のあるタイプの場合)- 戻り値:
- すべてのレンダリング呼出しで使用される現在の効果、または現在の効果がない場合はnull
-
applyEffect
public void applyEffect(Effect e)
指定された効果をキャンバスの境界全体に適用し、その結果を同じキャンバスに格納します。null
値は無視されます。 効果はその他のレンダリング属性がなくても適用され、恒等座標変換で適用されます。 効果はキャンバスの境界全体に適用されるため、一部の効果の結果が紛らわしいものとなる場合があります。たとえば、キャンバスの一部のみがレンダリングされても、キャンバスの下部からリフレクションを適用するリフレクション効果では、負のオフセットを使用してリフレクションをビューに戻す場合を除いて、表示されなくなります。- パラメータ:
e
- デスティネーション全体に適用する効果またはnull。
-
-