Java
 Computer >> コンピューター >  >> プログラミング >> Java

Pathクラスを使用してJavaFXでカスタムシェイプを描画するにはどうすればよいですか?


javafx.scene.shape パッケージには、さまざまな2D形状を描画できるクラスが用意されていますが、これらは線、円、多角形、楕円などの原始的な形状にすぎません…

したがって、複雑なカスタムシェイプを描画する場合は、Pathクラスを使用する必要があります。

パスクラス

Pathクラスは、形状の幾何学的な輪郭を表し、MoveTo、LineTo、HlineTo、VlineTo、ArcTo、QuadCurveTo、CubicCurveToなどのさまざまなパス要素を保持する監視可能なリストにアタッチされます。

このクラスのコンストラクターは、タイプ PathElementの可変引数を受け入れます 指定されたパス要素に基づいてパスを作成します。

パス要素MoveToは、パスの現在の位置を指定されたポイントに移動するために使用され、LineToは、現在の座標から指定された座標に線を描画します。

次の例では、MoveToPathToクラスとPathクラスを使用してカスタムの複雑な形状を描画しようとしています-

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.shape.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
public class ComplexShape extends Application {
   public void start(Stage stage) {
      //Drawing the shape
      MoveTo moveTo = new MoveTo(108, 71);
      LineTo line1 = new LineTo(321, 161);
      LineTo line2 = new LineTo(126,232);
      LineTo line3 = new LineTo(232,52);
      LineTo line4 = new LineTo(269, 250);
      LineTo line5 = new LineTo(108, 71);  
      //Creating a Path
      Path path = new Path(moveTo, line1, line2, line3, line4, line5);
      //Preparing the Stage object
      Group root = new Group(path);
      Scene scene = new Scene(root, 600, 300);
      stage.setTitle("Drawing an arc through a path");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

出力

Pathクラスを使用してJavaFXでカスタムシェイプを描画するにはどうすればよいですか?


  1. OpenCV Javaライブラリを使用して画像に幾何学的形状を描画するにはどうすればよいですか?

    Java OpenCVライブラリのorg.opencv.imgprocパッケージには、Imgprocという名前のクラスが含まれています。このクラスは、入力画像を処理するために、resize()、wrapAffine()、filter2Dなどのさまざまなメソッドを提供します。 それらに加えて、画像に幾何学的形状を描くための一連の方法を提供します。以下はそれらのいくつかです- 形状 メソッドと説明 楕円 ellipse()を使用して、画像に楕円を描くことができます メソッド。 サークル circle()を使用して、画像に円を描くことができます メソッド。 長方形

  2. JavaのGraphicsオブジェクトを使用して、丸みを帯びた長方形を描画するにはどうすればよいですか?

    グラフィッククラス Javaでは、描画はグラフィックスを介して行われます。 オブジェクト、これはjava.awt.Graphicsクラスのインスタンスです。 各グラフィックス オブジェクトには、独自の座標系と、文字列、線、長方形、円、多角形を描画するための方法を含む、グラフィックスのすべての方法があります。 など グラフィックスにアクセスできます paint(Graphics g)を介してオブジェクト メソッド。 drawRoundRect()を使用できます x座標、y座標、を受け入れるメソッド 幅 、高さ 、 arcWidth 、および円弧の高さ 角の丸い長方形を描画します