Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Giải thích thuộc tính Stroke Line Join của hình 2D trong JavaFX


Trong các hình dạng được tạo bằng cách nối nhiều đường thẳng, thuộc tính stroke line join chỉ định hình dạng của góc nối giữa hai đường. Bạn có thể đặt stroke line join bằng phương thức setStrokeLineJoin().

JavaFX hỗ trợ ba loại stroke line join được biểu diễn bởi ba hằng số của Enum StrokeLineJoin:

  • BEVEL - Các cạnh ngoài của giao điểm được nối bằng một đoạn thẳng.
  • MITER - Các cạnh ngoài của giao điểm được nối với nhau tạo thành một cạnh nhọn.
  • ROUND - Các cạnh ngoài của giao điểm được nối bằng cách bo tròn góc, bán kính chính xác là một nửa độ rộng của góc nối.

Ví dụ

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.shape.StrokeLineJoin; 
import javafx.scene.text.Font; 
import javafx.scene.text.FontPosture; 
import javafx.scene.text.FontWeight; 
import javafx.scene.text.Text; 
import javafx.stage.Stage; 
public class StrokeLineJoinExample extends Application { 
  public void start(Stage stage) { 
    Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12); 
    Text label1 = new Text("Original Image"); 
    label1.setFont(font); 
    label1.setX(250.0); 
    label1.setY(125.0); 
    Polygon rhombus1 = new Polygon(300.0, 0.0, 250.0, 50.0, 300.0, 100.0, 350.0, 50.0); 
    Text label2 = new Text("Line Join: Round"); 
    label2.setFont(font); 
    label2.setX(25.0); 
    label2.setY(275.0); 
    Polygon rhombus2 = new Polygon(100.0, 150.0, 50.0, 200.0, 100.0, 250.0, 150.0, 200.0); 
    rhombus2.setStroke(Color.BLUE); 
    rhombus2.setStrokeWidth(20); 
    rhombus2.setStrokeLineJoin(StrokeLineJoin.ROUND); 
    Text label3 = new Text("Line Join: Bevel"); 
    label3.setFont(font); 
    label3.setX(250.0); 
    label3.setY(275.0); 
    Polygon rhombus3 = new Polygon(300.0, 150.0, 250.0, 200.0, 300.0, 250.0, 350.0, 200.0); 
    rhombus3.setStroke(Color.BLUE); 
    rhombus3.setStrokeWidth(20.0); 
    rhombus3.setStrokeLineJoin(StrokeLineJoin.BEVEL); 
    Text label4 = new Text("Line Join: Miter"); 
    label4.setFont(font); 
    label4.setX(430.0); 
    label4.setY(275.0); 
    Polygon rhombus4 = new Polygon(490.0, 150.0, 440, 200.0, 490.0, 250.0, 540.0, 200.0); 
    rhombus4.setStroke(Color.BLUE); 
    rhombus4.setStrokeWidth(20.0); 
    rhombus4.setStrokeLineJoin(StrokeLineJoin.MITER); 
    Group root = new Group(label1, label2, label3, label4, rhombus1, rhombus2, rhombus3, rhombus4); 
    Scene scene = new Scene(root, 595, 310); 
    stage.setTitle("Stroke Line Join"); 
    stage.setScene(scene); 
    stage.show(); 
  } 
  public static void main(String args[]){ 
    launch(args); 
  } 
}

Kết quả

Giải thích thuộc tính Stroke Line Join của hình 2D trong JavaFX