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

在javavfx中创建一个椭圆,其中缩放是从左上角(像一个矩形)而不是从中心开始

在JavaFX中创建一个椭圆,可以使用Ellipse类来实现。椭圆的缩放是相对于其边界框的左上角而不是相对于中心点进行的。

以下是一个示例代码,演示如何在JavaFX中创建一个椭圆并进行缩放:

代码语言:txt
复制
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Ellipse;
import javafx.stage.Stage;

public class EllipseExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // 创建一个椭圆对象
        Ellipse ellipse = new Ellipse();
        
        // 设置椭圆的位置和大小
        ellipse.setCenterX(100);  // 椭圆中心的X坐标
        ellipse.setCenterY(100);  // 椭圆中心的Y坐标
        ellipse.setRadiusX(50);   // 椭圆X轴半径
        ellipse.setRadiusY(30);   // 椭圆Y轴半径

        // 设置椭圆的填充颜色和边框颜色
        ellipse.setFill(Color.RED);
        ellipse.setStroke(Color.BLACK);

        // 创建一个Group对象,并将椭圆添加到其中
        Group root = new Group(ellipse);
        
        // 创建一个Scene对象,并将Group对象添加到其中
        Scene scene = new Scene(root, 200, 200);
        
        // 设置舞台的标题和场景
        primaryStage.setTitle("Ellipse Example");
        primaryStage.setScene(scene);
        
        // 显示舞台
        primaryStage.show();
    }

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

在这个例子中,我们创建了一个椭圆对象,并设置了椭圆的位置、大小、填充颜色和边框颜色。然后,我们将椭圆添加到一个Group对象中,并将该Group对象添加到一个Scene对象中。最后,将Scene对象设置为舞台的场景,并显示舞台。

对于椭圆的缩放,JavaFX默认的缩放是相对于中心点进行的。如果需要从左上角进行缩放,可以使用Scale变换来实现。具体的缩放代码可以在创建椭圆对象后添加以下代码:

代码语言:txt
复制
        // 使用Scale变换来进行缩放
        Scale scale = new Scale();
        scale.setPivotX(ellipse.getBoundsInParent().getMinX());
        scale.setPivotY(ellipse.getBoundsInParent().getMinY());
        
        // 设置缩放因子
        scale.setX(2.0);
        scale.setY(2.0);
        
        // 应用缩放变换
        ellipse.getTransforms().add(scale);

这段代码创建了一个Scale对象,并将其设置为从椭圆边界框的左上角进行缩放。然后,设置了X和Y方向的缩放因子为2.0,即将椭圆的大小放大到原来的两倍。最后,将缩放变换应用到椭圆上。

对于更多关于JavaFX的相关知识,你可以参考腾讯云的产品介绍链接地址:https://cloud.tencent.com/product/javafx

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

相关·内容

opencv(4.5.3)-python(四)--绘图

我们将创建一个黑色的图像,在上面画一条左上角到右下角的蓝线。...绘制椭圆 为了绘制椭圆,我们需要传递几个参数。一个参数中心位置(x,y)。接下来的参数轴的长度(主轴长度,小轴长度)。角度椭圆逆时针方向的旋转角度。...startAngle和endAngle表示椭圆弧线的起点和终点,主轴开始顺时针方向测量。更多细节,请查看cv.ellipse()的文档。下面的例子图像的中心画了一个椭圆。...,你会得到一个连接所有点的折线,不是一个封闭的形状。...正如你以前的文章中所学习的那样,显示图像就可以看到它。 其他资源 • 椭圆函数中使用的角度不是我们平常所指的圆角。 练习 • 试着用OpenCV的绘图函数来创建OpenCV的标志。

87820

Carson带你学Android:自定义View Canvas类使用教程

总结 绘制内容根据画布的规定绘制屏幕上的 内容实际上绘制屏幕上; 画布,即Canvas,只是规定了绘制内容时的规则; 内容的位置由坐标决定,坐标相对于画布而言的 注:关于对画布的操作(缩放...绘制矩形(drawRect) 原理:矩形的对角线顶点确定一个矩形 一般采用左上角和右下角的两个点的坐标。...,圆角矩形多了两个参数rx 和 ry 圆角矩形的角椭圆的圆弧,rx 和 ry实际上椭圆的两个半径,如下图: 特别注意:当 rx大于宽度的一半, ry大于高度一半 时,画出来的为椭圆 实际上,rx...绘制椭圆 原理:矩形的对角线顶点确定矩形,根据传入矩形的长宽作为长轴和短轴画椭圆 椭圆传入的参数和矩形一样的; 绘制椭圆实际上绘制一个矩形的内切图形。...:位移基于当前位置移动,不是每次都是基于屏幕左上角的(0,0)点移动 b.

2.3K10

Canvas类的最全面详解 - 自定义View应用系列

绘制矩形(drawRect) 原理:矩形的对角线顶点确定一个矩形 一般采用左上角和右下角的两个点的坐标。...与矩形相比,圆角矩形多了两个参数rx 和 ry 圆角矩形的角椭圆的圆弧,rx 和 ry实际上椭圆的两个半径,如下图: ?...绘制椭圆 原理:矩形的对角线顶点确定矩形,根据传入矩形的长宽作为长轴和短轴画椭圆 椭圆传入的参数和矩形一样的; 绘制椭圆实际上绘制一个矩形的内切图形。...:位移基于当前位置移动,不是每次都是基于屏幕左上角的(0,0)点移动 ?...// 实例:画两个对比图 // 相同:都有两个矩形,第1个= 正常大小,第2个 = 放大1.5倍 // 不同点:第1个缩放中心(0,0),第2个(px,py) // 第一个图 // 设置矩形大小

3K81

BufferedImage类、Image类、Graphics类

BufferedImage与byte数组的转换 传输,图片不能直接传的,需要先转为字节数组再传输较为方便;字节数组再转回BufferedImage则还原图片。...画一个着色块 画椭圆:drawOval(int x,int y,int width,int height),x、y中心坐标,长轴、短轴;fillOval(int x,int y,int width,int...画圆弧:drawArc(int x,int y,int width,int height,int startAngle,int arcAngle),画椭圆一部分的圆弧线,椭圆中心时它的外接矩形中心,外接矩形左上角坐标为...(x,y),宽width,高height,startAngle单位度,其实角度0度指3点钟方向,startAngle和arcAngle表示startAngle角度开始,逆时针方向画arcAngle...以下代码实现了一个擦除了一个矩形块 g.setColor(Color.blue); g.fillOval(50,50,100,100);g.clearRect(70,70,40,55);

1K20

带你玩转自定义view系列

Android,将屏幕最左上角的顶点作为Android坐标系的原点,原点向右X轴正方向,原点向下Y轴正方向: ?...只不过视图坐标系,原点不再 Android 坐标系的屏幕左上角,而是以父视图左上角为坐标原点。 ?...,缩放中心默认坐标原点,且多次缩放可以重叠的。...addArc()直接添加圆弧到patharcTo()会判断要绘制圆弧的起点与绘制圆弧之前path中最后的点是否一个点,如果不是一个点的话,就会连接两个点。...image 图中可以看出,圆形由若干个矩形组成,依次排列成圆形,因为代码画笔使用的风格 STROKE(描边),所以中间一些就是空的。如果使用 Fill(填充),那么组成的就是一个实心圆。

1.6K20

SVG 快速入门

其中,align 需要着重理解一下。首先,它的默认值为 xMidYMid,即为中点重合。 可以图中看出,viewbox 通过中心进行延展的。注意,它的原点坐标还是 viewbox 的左上角。...如果你动态增加尺寸的话,此时并不是从左到右增加,而是从中心向两端扩张。同理,如果你使用的 xMinYMin 的话,那么如果存在尺寸变化,那么相对点则是左上角开始的。...使用的时候,千万不要搞混即可。 弧线 A/a 该曲线用来画弧线(Arcs),,弧线通常是圆/椭圆的一部分。...因为,他画椭圆的方式和我们平常不一样,一般情况下,椭圆只要确定一个中心,然后长短轴,然后弧度范围即可。 但是,它这里通过椭圆上的两点来确定的,加上旋转角度,俩轴径等因素来确定的。...这么说吧,前面几个属性充其量只能确定椭圆的位置,和经过椭圆的两个点,不过,一般能通过指定两点的椭圆有两个,通过这两点划分又会出现 4 段弧长。为了确定 4 个弧长一个,需要两个值来确定。

3K11

08: 绘图功能

矩形矩形需要知道左上角和右下角的坐标: # 画一个绿色边框的矩形,参数2:左上角坐标,参数3:右下角坐标 cv2.rectangle(img, (384, 0), (510, 128), (0,...: 参数2:椭圆中心(x,y) 参数3:x/y轴的长度 参数4:angle---椭圆的旋转角度 参数5:startAngle---椭圆的起始角度 参数6:endAngle---椭圆的结束角度 经验之谈:...OpenCV中原点在左上角,所以这里的角度是以顺时针方向计算的。...# 中心一个填充的半圆 cv2.ellipse(img, (256, 256), (100, 50), 0, 0, 180, (255, 0, 0), -1)Copy to clipboardErrorCopied...画多边形 画多边形需要指定一系列多边形的顶点坐标,相当于一个点到第二个点画直线,再从第二个点到第三个点画直线....

73030

Graphics2D 绘制图形-圆角矩形矩形椭圆、圆弧等

其中:参数c1,c2决定这个渐变色颜色c1渐变到颜色c2。参数x1,y1,x2,y2决定了渐变的强弱,即要求点(x1,y1)出发到达点(x2,y2),颜色c1变成c2。...也可以先创建一个没有transform属性的AffineTransform对象,然后用以下方法指定图形平移、旋转、缩放变换属性。...新方法将几何图形(线段、圆等)作为一个对象来绘制。java.awt.geom包声明的一系列类,分别用于创建各种身体图形对象。...,矩形左上角(20,30),宽300,高40 圆角矩形     RoundRectangle2D rectRound = new RoundRectangle2D.Double(20,30,130,100,18,15...椭圆     Ellipse2D ellipse = new Ellipse2D.Double(20,30,100,50);     //左上角 (20,30),宽100,高50 圆弧

2.4K20

CAD2007操作教程上

(重复上一次操作快捷键还有空格和回车) 三、选择物体的方法 1、直接点击 2、正选:左上角向右下角拖动(全部包含其中) 3、反选:右下角向左上角拖动(碰触到物体的一部分就行) CAD创建的单位mm...,便可出来一个带有倒角现象的矩离 不指定第一点直接点击F确定,指定矩形的圆角半径,便可出现一个有圆角的矩形 宽度,不指定第一点时直接点击W确定,指定矩形的线宽粗细。...中心点:通过指定椭圆中心一个轴的端点(主轴)以及另一个轴的半轴和度绘制椭圆。 2. 轴,端点:通过指定一个轴的两个端点(主轴)和另一个轴的半轴的长度绘制椭圆。...,画出来一个整体,直线创建独立的对象,多段线可以创建直线段,弧线段或两者的组合线段。...多段线一个整体图形,每条线都是一个单体 4.多段线可以创建直线段,弧线段或两者的组合线段。直线不能绘制弧线。

3.6K30

【Java AWT 图形界面编程】Canvas 组件中使用 Graphics 绘图 ② ( AWT 绘图步骤 | Graphics 绘图常用 API )

* 该方法为1;i;nPoints绘制由nPoint线段定义的多边形, * 其中一个nPoint-1线段(xPoints[i-1],yPoints[i-1]) * 到(xPoints...* 该方法绘制由nPoint线段定义的多边形, * 其中前nPoint-1线段(xPoints[i-1],yPoints[i-1]) * 到(xPoints[i],yPoints...* 圆弧的中心原点为(x,y)的矩形中心,其大小由width和height参数指定。 * 生成的弧覆盖的区域宽度+1像素宽,高度+1像素高。...* 角度相对于边界矩形的非正方形范围指定的, * 这样45度总是落在从椭圆中心到边界矩形右上角的直线上。...* * 因此,如果边界矩形一个轴上明显比另一个轴长, * 则到弧段开始和结束的角度将沿着边界的较长轴倾斜得更远。

1K10

EasyX图形库学习(一)

许多人学编程都是 C 语言入门的,现状: 有些学校以 Turbo C 为环境学习 C 语言,只是 Turbo C 实在太老了,复制粘贴都很不方便。...还有计算机图形学,这门课程的重点绘图算法,不是 Windows 编程。所以,许多老师不得不用 TC 教学,因为 Windows 绘图太复杂了,会偏离教学的重点。...EasyX一个用于简化Windows下图形编程的库,它提供了一系列易于使用的绘图函数和工具。通过这些函数,您可以开始和结束批量绘图,获取版本信息,获取窗口句柄,以及以对话框形式获取用户输入。...int flag:这个参数通常用于指定图形驱动程序或模式 如下flag的参数 宏定义 数值 描述 EX_SHOWCONSOLE 1 当创建一个图形窗口时,保持控制台窗口可见。...int top, //椭圆外切矩形左上角 y 坐标。 int right, //椭圆外切矩形的右下角 x 坐标。

27010

图形编辑器基于Paper.js教程03:认识Paper.js的所有类

常用来画矩形,定义一个起点,定义一个Size就能画出一个矩形。 Size也有加减乘除。缩放,固定元素的大小时,有时会用到它。...http://paperjs.org/reference/segment/ Rectangle 矩形指定了由左上角点(x,y)、宽度和高度所围成的区域。不要将它与矩形路径混淆,它不是一个项目。...Path 代表一个路径,可以使用它创建直线,圆,矩形椭圆,弧线,多边形,星星 继承Item,Item有的方法,它都有。...简单来说就是可以paperjs的画布里创建文字对象,可以设置字体,字号,对齐方向,行高 PointText PointText 项目代表 Paper.js 项目中的一段排版,它从某一点开始,按其中包含的字符数延伸...就是字体的开始坐标,据我观察,字体的坐标左下角开始的。 总结 比较重要的类有Project,Layer,View,Item,Curve,Point,Tool。

9010

OpenCV 图像处理:常用绘图函数

文章目录 opencv的绘图函数 1.线段绘制 2.矩形绘制 3.圆,椭圆绘制 圆绘制 椭圆绘制 4.多边形绘制 5.添加文字 6.综合图像绘制 opencv的绘图函数 1.线段绘制 cv2.line...), np.uint8) # 画一个绿色边框的矩形,参数2:左上角坐标,参数3:右下角坐标 cv2.rectangle(img,(384,0),(510,128),(0,255,255),1) winname...cv2.ellipse() 参数说明: 参数2 :椭圆中心(x,y) 参数3:x/y 轴的长度 参数4:angle 椭圆的旋转角度 参数5:startAngle 椭圆的起始角度 参数6:endAngle...椭圆的结束角度 import numpy as np import cv2 # 创建一张黑色的背景图 img=np.zeros((512,512,3), np.uint8) # 中心一个填充的半圆....circle(img,(447,63), 63, (0,0,255), -1) # 中心一个填充的半圆 cv2.ellipse(img, (256, 256), (100, 50), 0, 0

89420

CAD常用基本操作

,移动或比例缩放(应注意夹点中的比例缩放多重缩放,同一图形可在选中夹点连续进行多次不同比例缩放) 16 三维绘图中的旋转:按住Shift并按住鼠标中键拖动 17 . dxf文件:表示储存之后可以在其它三维软件打开的文件...(默认以中心点为拾取角度的顶点) E 环形阵列填充角度的选择默认为与X轴的夹角,如果要选择的填充角度不从X轴开始,可一先改变UCS,再进行选择。...E 多个(M):生成多个偏移对象 26 椭圆ellipse(EL) A 长轴加短半轴画椭圆椭圆的方向由长轴决定(初始画法) B 中心点(C):中心点加长半轴和短半轴画椭圆 C 旋转(R):通过绕第一条轴旋转圆来创建椭圆...可以利用此快捷菜单放弃最后一个或所定对象、更改选择方式、更改孤岛检测样式或预览图案填充或渐变填充 C删除边界:边界定义删除以前添加的任何对象 D填充图案的关联性:指定填充图案是否会随着图案的大小变化同时变化...差值还以指定的增量修改弧的角度,该增量距离选择点最近的端点处开始测量。

5.4K50

OC绘制基本图形1. UIKit中封装了一些最常用的绘图方法2. 贝塞尔路径常用方法列表(BezierPath)3. 保存屏幕截图,并存储至相册

好了,之前的两篇文章里面写了Quartz2D的一些基本知识。从这篇开始写一下OC绘制基本图形的方法。 1....,也可以用这种方式画圆 - (void)drawRect:(CGRect)rect { // 创建路径 // 参数1:矩形左上角圆点及矩形的宽高。...) cornerRadius:10]; // 渲染 [path stroke]; } 2.4 画椭圆,根据这种方法也可以画圆 画出来的也是矩形的内切椭圆 - (...文字会自动换行 [str drawInRect:CGRectMake(0, 0, 45, 100) withAttributes:attriStr]; // 绘制方式二:指定的点开始绘制...保存屏幕截图,并存储至相册 开启一个图形的context。开启就别忘了关闭。 iOS8.0 以后还需要获得用户许可的权限。之前的iOS不需要。 plist设置申请用户许可时的提示文字。

1.5K40

零学习OpenCV 4】绘制几何图形

函数通过选定椭圆中心位置和主轴的大小唯一确定一个椭圆,并且可以控制旋转角度改变椭圆坐标系的位置。通过椭圆弧起始和终止角度,可以绘制完整的椭圆或者一部分椭圆弧。...1 04 绘制多边形 几何多边形也是一个重要的成员,多边形矩形又是一个比较特殊的类型,因此OpenCV 4除了提供绘制多边形的函数fillPoly()外,也提供了绘制矩形的函数rectangle...OpenCV 4定义了两种函数原型,分别利用矩形对角线上的两个顶点的坐标或者利用左上角顶点坐标和矩形的长和宽唯一确定一个矩形绘制矩形时,同样可以控制边缘线的宽度绘制一个实心的矩形。...Rect表示的一个矩形左上角矩形的长和宽,该类型定义的格式为Rect(像素的x坐标,像素的y坐标,矩形的宽,矩形的高),其中可以存放的数据类型也分别为int型(Rect2i或者Rect)、double...需要说明的pts参数一个数组,数组存放的每个多边形顶点坐标数组,npts参数也是一个数组,用于存放pts数组每个元素顶点的个数。

1.3K30

【Easyx】easyx入门到精通 — 初步入门

另外,我们创建项目时应该使用.cpp后缀。(因为easyx内部使用C++语法实现的,因此我们的源文件也要是C++文件)。...void setorigin(400, 300); 这个设置逻辑坐标,输入坐标即可 void setaspectratio(1, -1); 这个为xy轴加入缩放因子,即等比例缩放,负数即反转。...4.4 绘制矩形 void rectangle(int left,int top,int right,int bottom) 即绘制左上角为(left,top)右下角为(right,bottom)的矩形...4.5 绘制椭圆 void ellipse(int left,int top,int right,int bottom); 即绘制左上角为(left,top)右下角为(right,bottom)的矩形内的最大椭圆...前四个参数与绘制矩形一致,后两个参数为:构成圆角矩形的圆角的椭圆的宽度,构成圆角矩形的圆角的椭圆的高度 4.7 绘制扇形 void pie( int left, int top, int right

34010

Processing之矢量SVG用法一览

本文小菜的一篇关于 Processing 中使用 SVG 的学习笔记,一起来跟着小菜来看看吧:) 读懂 SVG 文件 SVG 一种基于 XML 语法的图像格式,全称是可缩放矢量图(Scalable...用最简单粗暴的话来说,文件内容记录的不是像素信息,而是图形的元数据信息,比如 一个圆circle(圆心、半径) 一条线line(两个端点坐标) 一条折线polyline(折线点的坐标) 一个矩形rect...(左上角端点坐标和矩形宽高) 一个椭圆ellipse(椭圆中心的横坐标和纵坐标、椭圆横向轴和纵向轴的半径) 一个多边形polygon(每个端点的坐标) 一个路径path(路径描述) 一个文本text(文本区块基线起点的横坐标和纵坐标...这些形状的每一个(称为“子”)都有自己的名称,可用于“父”文件中提取它。此示例加载美国地图并通过从两个州提取数据来创建两个新的 PShape 对象。...在这个阶段,整个场景只不过一长串线条和三角形,这时使用sphere()方法创建的形状将由数百个三角形组成,不是单个对象。

2.2K60

Easy Games With Python and Pygame(二)- Pygame 绘制图形

坐标以及宽和高 开始角度 结束角度 这里需要传入角度值,因此需要导入math模块,参考上面创建圆形的代码,创建和设置窗口的代码不变的,因此只需要将创建圆形的代码替换为创建弧形的代码即可 创建pygame_draw_arc.py...文件,将创建圆形代码块替换,win.fill(bg_color)代码开始 '''开始绘制弧形''' arc_color = (255, 0, 255) # 以矩形为基准距离左,上,下,由的距离 position...一个椭圆由上下两半部分弧形组成,因此只需要绘制两个弧形,将角度替换并往下平移,即可组成一个椭圆 '''开始椭圆上半部分''' arc_color = (255, 0, 255) # 以矩形为基准距离左...X坐标和Y坐标,以及椭圆(矩形)的宽和高4个整数存入一个元组 宽度,可选 '''绘制椭圆''' width = 5 # 左上角的XY坐标以及宽和高 rect = (400, 100, 200, 300...矩形左上角XY坐标,以及矩形的宽和高,存入一个元组 import sys import pygame from pygame.locals import * # 创建窗口参数 # 窗口大小 win_size

1.1K30
领券