JavaFX - 剪切变换

使对象形状倾斜的变换称为剪切变换。有两种剪切变换:X 剪切Y 剪切。一种会移动 X 坐标值,另一种会移动 Y 坐标值。但是,在这两种情况下,只有一个坐标会改变其坐标,而另一个坐标会保留其值。剪切也称为倾斜

剪切

示例

以下是演示 JavaFX 中剪切的程序。在这里,我们在同一位置创建 2 个多边形(节点),尺寸相同,但颜色不同(蓝色和透明)。我们还对透明多边形应用了剪切。

将此代码保存在名为 ShearingExample.java 的文件中。

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.paint.Color; 
import javafx.scene.shape.Polygon; 
import javafx.scene.transform.Shear; 
import javafx.stage.Stage; 
         
public class ShearingExample extends Application { 
   @Override 
   public void start(Stage stage) {
        Polygon hexagon1 = new Polygon();
        
        //向六边形添加坐标
        hexagon1.getPoints().addAll(new Double[]{
        200.0, 50.0,
        400.0, 50.0,
        450.0, 150.0,
        400.0, 250.0,
        200.0, 250.0,
        150.0, 150.0,
        });
        //设置六边形的填充颜色
        hexagon1.setFill(Color.BLUE);
        
        hexagon1.setStroke(Color.BLACK);
        Polygon hexagon2 = new Polygon();
        
        //向六边形添加坐标
        hexagon2.getPoints().addAll(new Double[]{
        200.0, 50.0,
        400.0, 50.0,
        450.0, 150.0,
        400.0, 250.0,
        200.0, 250.0,
        150.0, 150.0,
        });
        //设置六边形的填充颜色
        hexagon2.setFill(Color.TRANSPARENT);
        hexagon2.setStroke(Color.BLACK);
        
        //创建剪切变换
        Shear shear = new Shear();
        
        //设置枢轴点
        sher.setPivotX(200);
        sher.setPivotY(250);
        
        //设置剪切的尺寸
        shear.setX(0.5);
        shear.setY(0.0);
        
        //将变换添加到多边形
        hexagon2.getTransforms().addAll(shear);
        
        //创建一个 Group 对象
        Group root = new Group(hexagon1, hexagon2);
        
        //创建一个场景对象
        Scene scene = new Scene(root, 600, 300);
        
        //将标题设置为舞台(Stage)
        stage.setTitle("剪切示例");
        
        //将场景添加到舞台(Stage)
        stage.setScene(scene);
        
        //显示舞台(Stage)的内容
        stage.show();
   }    
   public static void main(String args[]){ 
      launch(args); 
   } 
}

使用以下命令从命令提示符编译并执行保存的 java 文件。

javac ShearingExample.java 
java ShearingExample

执行时,上述程序将生成一个 JavaFX 窗口,如下所示。

剪切示例

javafx_transformations.html