如何使用 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);
   }
}

輸出

更新時間: 2020-04-14

181 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.