如何使用 JavaFX 创建二次贝塞尔曲线?
二次曲线是 XY 平面中度数为 2 的贝塞尔参数曲线。
在 JavaFX 中,圆形由 **javafx.scene.shape.QuadCurve** 类表示。它类似于 CubicCurve,但它不是使用 2 个控制点,而是使用一个控制点绘制。
此类包含 6 个属性,它们是:
**startX** - 此属性表示曲线起点的 x 坐标。您可以使用 **setStartX()** 方法为此属性设置值。
**startY** - 此属性表示曲线起点的 y 坐标。您可以使用 **setStartY()** 方法为此属性设置值。
**controlX** - 此属性表示曲线控制点的 x 坐标。您可以使用 **setControlX()** 方法为此属性设置值。
**controlY** - 此属性表示曲线控制点的 y 坐标。您可以使用 **setControlY()** 方法为此属性设置值。
**endX** - 此属性表示曲线终点的 x 坐标。您可以使用 **setEndX()** 方法为此属性设置值。
**endY** - 此属性表示曲线终点的 y 坐标。您可以使用 **setEndY()** 方法为此属性设置值。
要创建圆形,您需要:
实例化此类。
使用 setter 方法设置所需的属性,或者将它们作为参数传递给构造函数。
将创建的节点(形状)添加到 Group 对象。
示例
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.paint.Color; import javafx.stage.Stage; import javafx.scene.shape.QuadCurve; public class DrawingQuadCurve extends Application { @Override public void start(Stage stage) { //Drawing a quadratic curve QuadCurve qudraticCurve = new QuadCurve(); //Setting properties to cubic curve qudraticCurve.setStartX(75.0f); qudraticCurve.setStartY(75.0f); qudraticCurve.setControlX(250.0f); qudraticCurve.setControlY(250.0f); qudraticCurve.setEndX(500.0f); qudraticCurve.setEndY(260.0f); //Setting other properties qudraticCurve.setFill(Color.CHOCOLATE); qudraticCurve.setStrokeWidth(8.0); qudraticCurve.setStroke(Color.BROWN); //Setting the scene object Group root = new Group(qudraticCurve); Scene scene = new Scene(root, 595, 300); stage.setTitle("Drawing a quadratic curve"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }
输出
广告