JavaFX - 2D 形状 四边形曲线

  • 简述

    在数学上,二次曲线是由二次函数描述的曲线,如 − y = ax 2 + bx + c。
    在计算机图形学中使用贝塞尔曲线。这些参数曲线在所有尺度上都显得相当平滑。这些贝塞尔曲线是基于 XY 平面上的点绘制的。
    二次曲线是 XY 平面上的 Bezier 参数曲线,它是 2 次曲线。 它使用三个点绘制: start point, end pointcontrol point 如下图所示
    四曲线
    在 JavaFX 中,QuadCurve 由名为的类表示 QuadCurve. 这个类属于包javafx.scene.shape.
    通过实例化此类,您可以在 JavaFX 中创建 QuadCurve 节点。
    此类具有双数据类型的 6 个属性,即 -
    • startX − 曲线起点的 x 坐标。
    • startY − 曲线起点的 y 坐标。
    • controlX − 曲线控制点的 x 坐标。
    • controlY − 曲线控制点的 y 坐标。
    • endX − 曲线终点的 x 坐标。
    • endY − 曲线终点的 y 坐标。
    要绘制 QuadCurve,您需要将值传递给这些属性。这可以通过在实例化时以相同的顺序将它们传递给此类的构造函数来完成,如下所示 -
    
    QuadCurve quadcurve = new QuadCurve(startX, startY, controlX, controlY, endX, endY);
    
    或者,通过使用它们各自的 setter 方法如下 -
    
    setStartX(value); 
    setStartY(value); 
    setControlX(value); 
    setControlY(value); 
    setEndX(value); 
    setEndY(value); 
    
  • 绘制四边形曲线的步骤

    要在 JavaFX 中绘制贝塞尔四边形曲线,请按照以下步骤操作。

    第 1 步:创建一个类

    创建一个Java类并继承 Application 包的类别 javafx.application. 然后你可以实现start() 这个类的方法如下。
    
    public class ClassName extends Application { 
       @Override     
       public void start(Stage primaryStage) throws Exception {     
       }    
    }
    

    步骤 2:创建四边形曲线

    您可以通过实例化名为的类在 JavaFX 中创建 QuadCurve QuadCurve 属于一个包 javafx.scene.shape. 然后,您可以实例化此类,如以下代码块所示。
    
    //Creating an object of the class QuadCurve 
    QuadCurve quadcurve = new QuadCurve();
    

    第 3 步:设置 QuadCurve 的属性

    指定所需曲线的三个点的 x、y 坐标:起点、终点和控制点,使用它们各自的设置方法,如以下代码块所示。
    
    //Adding properties to the Quad Curve 
    quadCurve.setStartX(100.0); 
    quadCurve.setStartY(220.0f); 
    quadCurve.setEndX(500.0f); 
    quadCurve.setEndY(220.0f);
    quadCurve.setControlX(250.0f); 
    quadCurve.setControlY(0.0f);
    

    步骤 4:创建组对象

    在里面 start() 方法,通过实例化名为的类创建一个组对象 Group,属于包 javafx.scene.
    将上一步中创建的 QuadCurve(节点)对象作为参数传递给 Group 类的构造函数,以便将其添加到组中,如下所示 -
    
    Group root = new Group(quadcurve);
    

    步骤 5:创建场景对象

    通过实例化名为的类来创建场景 Scene它属于包 javafx.scene。向此类传递 Group 对象(root) 在上一步中创建。
    除了根对象,您还可以传递两个表示屏幕高度和宽度的双参数以及 Group 类的对象,如下所示。
    
    Scene scene = new Scene(group ,600, 300);
    

    第 6 步:设置舞台的标题

    您可以使用 setTitle()Stage 类的方法。这primaryStage 是一个 Stage 对象,它作为参数传递给场景类的 start 方法。
    使用 primaryStage 对象,将场景的标题设置为 Sample Application 如下。
    
    primaryStage.setTitle("Sample Application");
    

    第 7 步:将场景添加到舞台

    您可以使用方法将 Scene 对象添加到舞台 setScene()名为 Stage 的类。添加之前准备好的Scene对象steps 使用该方法如下。
    
    primaryStage.setScene(scene);
    

    步骤 8:显示舞台内容

    使用名为的方法显示场景的内容 show()Stage 类如下。
    
    primaryStage.show();
    

    第 9 步:启动应用程序

    通过调用静态方法启动 JavaFX 应用程序 launch()Application 类从主要方法如下。
    
    public static void main(String args[]){   
       launch(args);      
    } 
    

    例子

    以下是使用 JavaFX 生成四边形曲线的程序。将此代码保存在名称为的文件中QuadCurveExample.java.
    
    import javafx.application.Application; 
    import javafx.scene.Group; 
    import javafx.scene.Scene; 
    import javafx.stage.Stage; 
    import javafx.scene.shape.QuadCurve;  
    public class QuadCurveExample extends Application {  
       @Override 
       public void start(Stage stage) {        
          //Creating a QuadCurve 
          QuadCurve quadCurve = new QuadCurve();  
           
          //Adding properties to the Quad Curve 
          quadCurve.setStartX(100.0); 
          quadCurve.setStartY(220.0f); 
          quadCurve.setEndX(500.0f); 
          quadCurve.setEndY(220.0f); 
          quadCurve.setControlX(250.0f); 
          quadCurve.setControlY(0.0f);       
                   
          //Creating a Group object  
          Group root = new Group(quadCurve);
          
          //Creating a scene object 
          Scene scene = new Scene(root, 600, 300);  
          
          //Setting title to the Stage 
          stage.setTitle("Drawing a Quad curve"); 
             
          //Adding scene to the stage 
          stage.setScene(scene); 
             
          //Displaying the contents of the stage 
          stage.show(); 
       }    
       public static void main(String args[]){ 
          launch(args); 
       } 
    }        
    
    使用以下命令从命令提示符编译并执行保存的 java 文件。
    
    javac QuadCurveExample.java 
    java QuadCurveExample
    
    在执行时,上面的程序会生成一个 JavaFX 窗口,显示一条贝塞尔四边形曲线,如下面的屏幕截图所示。
    绘制四边形曲线