首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaFX如何在不改变线宽的情况下缩放路径的坐标?

JavaFX是一种用于构建富客户端应用程序的Java库。在JavaFX中,要在不改变线宽的情况下缩放路径的坐标,可以使用Scale变换来实现。

Scale变换是JavaFX中的一种变换类型,它可以应用于节点或场景图形,以实现缩放效果。通过设置Scale变换的xy属性,可以控制节点或场景图形在水平和垂直方向上的缩放比例。

以下是实现在不改变线宽的情况下缩放路径坐标的步骤:

  1. 创建一个Path对象,用于表示路径。
  2. 创建一个Scale对象,并设置xy属性为所需的缩放比例。例如,设置xy为2.0表示将路径放大两倍。
  3. Scale对象应用于Path对象的transforms属性,以实现缩放效果。

下面是一个示例代码:

代码语言:txt
复制
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
import javafx.scene.shape.QuadCurveTo;
import javafx.scene.transform.Scale;
import javafx.stage.Stage;

public class PathScalingExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // 创建路径
        Path path = new Path();
        path.setStrokeWidth(2); // 设置线宽
        path.setStroke(Color.BLACK); // 设置线条颜色

        // 添加路径的起始点和曲线段
        path.getElements().add(new MoveTo(50, 50));
        path.getElements().add(new QuadCurveTo(150, 150, 250, 50));

        // 创建缩放变换
        Scale scale = new Scale();
        scale.setX(2.0); // 设置水平缩放比例
        scale.setY(2.0); // 设置垂直缩放比例

        // 应用缩放变换到路径
        path.getTransforms().add(scale);

        // 创建场景
        Group root = new Group(path);
        Scene scene = new Scene(root, 300, 100);

        // 设置舞台
        primaryStage.setTitle("Path Scaling Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

在上面的示例中,我们创建了一个路径,设置了线宽和线条颜色,并添加了起始点和曲线段。然后,我们创建了一个Scale对象,并将其应用于路径的变换属性。最后,我们将路径添加到场景中,并显示舞台。

这样,路径将以指定的缩放比例进行缩放,而线宽将保持不变。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Day 3 学习Canvas这一篇文章就够了

    一、canvas简介 ​ <canvas> 是 HTML5 新增的,一个可以使用脚本(通常为JavaScript)在其中绘制图像的 HTML 元素。它可以用来制作照片集或者制作简单(也不是那么简单)的动画,甚至可以进行实时视频处理和渲染。 ​ 它最初由苹果内部使用自己MacOS X WebKit推出,供应用程序使用像仪表盘的构件和 Safari 浏览器使用。 后来,有人通过Gecko内核的浏览器 (尤其是Mozilla和Firefox),Opera和Chrome和超文本网络应用技术工作组建议为下一代的网络技术使用该元素。 ​ Canvas是由HTML代码配合高度和宽度属性而定义出的可绘制区域。JavaScript代码可以访问该区域,类似于其他通用的二维API,通过一套完整的绘图函数来动态生成图形。 ​ Mozilla 程序从 Gecko 1.8 (Firefox 1.5)开始支持 <canvas>, Internet Explorer 从IE9开始<canvas> 。Chrome和Opera 9+ 也支持 <canvas>。 二、Canvas基本使用 2.1 <canvas>元素

    02

    空间变换是什么_信号与系统状态转移矩阵

    文章提出的STN的作用类似于传统的矫正的作用。比如人脸识别中,需要先对检测的图片进行关键点检测,然后使用关键点来进行对齐操作。但是这样的一个过程是需要额外进行处理的。但是有了STN后,检测完的人脸,直接就可以做对齐操作。关键的一点就是这个矫正过程是可以进行梯度传导的。想象一下,人脸检测完了,直接使用ROI pooling取出人脸的feature map,输入STN就可以进行矫正,输出矫正后的人脸。后面还可以再接点卷积操作,直接就可以进行分类,人脸识别的训练。整个流程从理论上来说,都有梯度传导,理论上可以将检测+对齐+识别使用一个网络实现。当然实际操作中可能会有各种trick。

    03
    领券