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

尝试使用GraphicsContext方法公共空填充和strokepolygon来绘制正则多边形

GraphicsContext是JavaFX中的一个类,用于在画布上绘制图形。它提供了一系列方法来绘制不同类型的图形,包括填充和描边多边形。

使用GraphicsContext的fillPolygon方法可以绘制填充多边形,而strokePolygon方法可以绘制描边多边形。正则多边形是指所有边的长度相等且所有角度相等的多边形。

下面是一个使用GraphicsContext方法绘制正则多边形的示例代码:

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

public class RegularPolygonExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        Group root = new Group();
        Canvas canvas = new Canvas(400, 400);
        GraphicsContext gc = canvas.getGraphicsContext2D();

        int sides = 6; // 正六边形
        double centerX = 200; // 多边形中心点的x坐标
        double centerY = 200; // 多边形中心点的y坐标
        double radius = 100; // 多边形的半径

        double[] xPoints = new double[sides];
        double[] yPoints = new double[sides];

        for (int i = 0; i < sides; i++) {
            double angle = 2 * Math.PI * i / sides;
            xPoints[i] = centerX + radius * Math.cos(angle);
            yPoints[i] = centerY + radius * Math.sin(angle);
        }

        gc.setFill(Color.RED);
        gc.fillPolygon(xPoints, yPoints, sides);

        gc.setStroke(Color.BLACK);
        gc.setLineWidth(2);
        gc.strokePolygon(xPoints, yPoints, sides);

        root.getChildren().add(canvas);
        primaryStage.setScene(new Scene(root, 400, 400));
        primaryStage.show();
    }

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

在这个示例中,我们创建了一个正六边形,中心点坐标为(200, 200),半径为100。使用fillPolygon方法填充多边形,并使用strokePolygon方法描边多边形。填充颜色为红色,描边颜色为黑色。

腾讯云提供了一系列云计算相关的产品,其中与图形绘制相关的产品包括:

  1. 腾讯云服务器(CVM):提供虚拟服务器,可用于部署JavaFX应用程序。产品介绍链接
  2. 腾讯云对象存储(COS):提供可扩展的云存储服务,可用于存储绘制的图形文件。产品介绍链接
  3. 腾讯云CDN:提供全球加速服务,可用于加速图形文件的传输和访问。产品介绍链接

以上是关于使用GraphicsContext方法绘制正则多边形的完善且全面的答案。

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

相关·内容

SwiftUI 动画进阶 — Part 5:Canvas

上下文使用一个新的 SwiftUI 类型 GraphicsContext,它包含了很多方法属性,可以让我们绘制任何东西。下面是一个关于如何使用 Canvas 的基本例子。...图形上下文 - GraphicsContext GraphicsContext 有很多方法属性,但我并不打算把这篇文章作为一个参考,把它们z一一列出。这是一个很长的列表,可能会让人有点不知所措。...().path(in: rect) 填充路径 要填充一个路径,请使用 context.fill() 方法: fill(_ path: Path, with shading: GraphicsContext.Shading...如果你需要指定破折号、线帽、连接等,请使用样式style。另外,你也可以只指定线宽。 关于如何描边填充一个形状的完整例子,请看上面的例子(一个简单的 Canvas)。...一旦你知道是什么原因,你可以尝试用不同的方法做。 如果你遇到这个问题,我鼓励你向苹果公司反馈。 总结 我希望这篇文章能帮助你为你的SwiftUI动画工具箱添加一个新的工具。

2.7K10

高性能Web动画渲染原理系列(4)“Compositor-Pipeline演讲PPT”学习摘要

我们现在使用了两个小方法来使这个流程变得快一点。它们分别作用于painting(绘制rasterization(光栅化)两个阶段。 1号知识点!!!...通过给painting routine(绘制流程)传递一个GraphicsContext的具体实现执行这些已经编排好的绘制命令,也可以传递一个record context(记录上下文)只是简单地把绘图命令都记录下来...通常我们使用CPU(也就是软件渲染的方式)执行光栅化任务,也可以直接使用GPU渲染(也就是硬件渲染的方式)。...概念比较多没有基础的读者可能理解起来有难度,我尝试用自己的话复述一下: 【软件渲染】的模式下,在paint时会直接利用Graphics Context绘图上下文将结果绘制出来,在一个SkBitmap实例中保存为位图信息...不管使用哪种途径,paint动作都是得到位图数据,而最终的draw这个动作是借助OpenGL位图数据最终把图形显示在显示器上。

83040
  • 手把手教你实现手绘风格图形🔵

    多边形&矩形 多边形就是把多个点首尾相连起来,遍历顶点调用绘制线段的方法即可: // 绘制手绘多边形 polygon (points = [], opt = {}) { if (points.length...恢复成多边形很简单,比如我们要把一个圆变成十边形(具体还原成几边形你也可以圆的周长关联起来),那么每个边对应的弧度就是2*Math.PI/10,然后使用Math.cosMath.sin计算顶点的位置...填充最暴力的方法就是判断每个点是否在多边形内部,但是这样的计算量太大,我查了一下多边形填充的思路,大概有两种算法:扫描线填充种子填充,扫描线填充更流行,Rough.js用的也是这种方法,所以接下来介绍一下这个算法...扫描线填充很简单,就是一条扫描线(水平线)从多边形的底部开始往上扫描,那么每条扫描线都会多边形有交点,同一条扫描线多边形的各个交点之间的区域就是我们要填充的,那么问题来了,怎么确定交点,以及怎么判断两个交点之间属于多边形内部...2.创建一个的AET表activeEdgeTable; 3.开始扫描,扫描线的y=多边形的最低点的y值,也就是activeEdgeTable[0].ymin; 4.重复下面步骤,直到ET表AET表都为

    1.6K30

    【Web技术】1139- 手把手教你实现手绘风格图形

    恢复成多边形很简单,比如我们要把一个圆变成十边形(具体还原成几边形你也可以圆的周长关联起来),那么每个边对应的弧度就是2*Math.PI/10,然后使用Math.cosMath.sin计算顶点的位置...填充最暴力的方法就是判断每个点是否在多边形内部,但是这样的计算量太大,我查了一下多边形填充的思路,大概有两种算法:扫描线填充种子填充,扫描线填充更流行,Rough.js用的也是这种方法,所以接下来介绍一下这个算法...扫描线填充很简单,就是一条扫描线(水平线)从多边形的底部开始往上扫描,那么每条扫描线都会多边形有交点,同一条扫描线多边形的各个交点之间的区域就是我们要填充的,那么问题来了,怎么确定交点,以及怎么判断两个交点之间属于多边形内部...2.创建一个的AET表activeEdgeTable;3.开始扫描,扫描线的y=多边形的最低点的y值,也就是activeEdgeTable[0].ymin;4.重复下面步骤,直到ET表AET表都为...上图表示图形逆时针旋转后进行扫描,下图表示图形填充线顺时针旋转回去。 图形旋转也就是各个顶点旋转,所以问题就变成了求一个点旋转指定角度后的位置,下面推导一下。

    83510

    「中秋来袭」没想到,用OpenCV竟能画出这么漂亮的月饼「附源码」

    在中秋节这样一个特殊的时刻,使用OpenCV绘制月饼玉兔的图像,不仅能够展示对传统文化的尊重与承托,更能结合现代技术的力量,创造出独特而精美的作品。...在使用OpenCV时,首先需要安装相应的库文件,并熟悉其使用方法。通过学习OpenCV的基本操作和函数调用,能够更好地利用这个强大的工具实现自己的创意。...今年中秋节,不妨尝试一下用OpenCV绘制精美的月饼可爱的玉兔图像,感受传统文化与现代技术的碰撞。用画笔在计算机屏幕上挥洒,定格下这美好的瞬间,借助OpenCV的力量,一起迎接中秋佳节的到来。...通过使用 cv::polylines cv::fillPoly 函数,可以绘制更复杂的多边形形状填充效果。...OpenCV的函数方法绘制太阳花图案。

    35540

    百度地图电子围栏功能的实现

    本篇内容实现的过程中将会解决如下几个问题: (1)实现百度地图鼠标绘制多边形功能; (2)实现根据给定的坐标绘制多边形的功能; (3)判断某个坐标点是否在绘制的区域内; (4)绘制的坐标点如何在数据库中保存...; 下面按照实际需求一步一步来讲解实现: 1 实现多边形绘制功能 1.1 从百度地图官方库下载鼠标绘制多边形功能demo   如何绘制一个多边形,我在看网上博客的时候,大部分人都是直接贴一堆代码上来...fillColor:"red", //填充颜色。当参数为时,圆形将没有填充效果。...就是使用这个getPath()方法获取。...3.判断坐标点是否在某个区域内   在不了解之前,我一直以为需要一个算法判断是否在多边形内,后来发现,百度已经为我们写好了这个算法,我们直接使用即可。

    3.4K40

    图形学复习

    正则形体:空间中点符合正则集的形体称为正则形体,正则集符合正则运算规则,结果包含内部点集报批边界。...---- 简答题 图像图形的区别:图形是无中生有,由计算机软件绘制出来的,它是面向对象的,同时具有几何属性视觉属性。而图像是由计算机外部设备捕捉得到的,并面向计算机内传输的信息。...字符的两种表示方式:点阵字符矢量字符。 实体的表示方法:边界表示、分解表示、构造实体几何表示、扫描表示元球表示。 光栅扫描:逐行扫描隔行扫描。 图素:几何元素非几何元素。...简述图形是如何从图形数据呈现到屏幕上的原理、方法过程。 显示缓冲区是与屏幕像素一一对应的二维矩阵,每一个存储单元对应着屏幕上的像素,其位置可由二维坐标表示。...多边形的扫描转换算法 void Polygonfill(Edge ET, COLORREF color){ 1.y=ET中登记项对应的y坐标的最小值; 2.AET初始化为表;

    1.7K20

    WebView流程分析(上)

    整个WebKit主要分为2个线程,一个是Ui线程,也就是应用程序使用WebView所在的主线程,另一个WebCore线程。...总体的逻辑是,WebViewClassic负责接收处理来自UI的各种消息,如绘制、触屏消息,然后发送到WebViewCore。WebViewCore经过进一步处理后,再转发给c层。...另一方面,滚动屏幕绘制也会引起sendViewSizeZoom: WebViewClassic.sendViewSizeZoom(boolean) line: 3954 WebViewClassic.contentSizeChanged...发送给GraphicsContext的请求都转发给这个代理类执行。 ...这里我尝试注释掉calcOurVisibleRect的r.offset,则只能显示当前一屏幕的,下面的都是空白,说明在drawContent里,如果不通知c层绘制,则屏幕是滚动了,但没有绘制出内容。

    1.6K30

    使用 C# Graphics 绘图绘制一个足球

    Graphics 介绍 图案的绘制方法非常简单,使用 C# 的 System.Drawing 命名空间中的 Graphics 类的方法即可在窗体、控件、图像或其他绘图表面上绘制文本、线条、图像其他图形...要使用 Graphics 类,需要创建一个 Graphics 对象,并使用其绘图方法绘制图形。...方法绘制图像,使用 DrawCurve 方法绘制曲线,使用 DrawPolygon 方法绘制多边形,等等。...足球绘制 使用 DrawPolygon 方法绘制多边形,我们可以简单的绘制一个足球图案。绘制足球就要绘制五边形,或者六边形。...,就需要根据五边形继续计算五个六边形的坐标,这样就非常麻烦了,经过几番尝试后,我找到了一种比较简单的绘制足球的方法:首先绘制一个六边形,然后选择一个外部的圆心对这个六边形坐标进行旋转 72 度,这样旋转几次

    62720

    用OpenGL绘制平滑着色的三角形与相交区域的混合着色

    使用GL_TRIANGLE_STRIP模式可以绘制几个相连的三角形,系统根据前三个顶点绘制第一个多边形,以后每指定一个顶点,就与构成上一个三角形的后两个顶点绘制形的一个三角形。...多边形的轮廓或者内部用单一的颜色或许多不同的颜色填充的处理方式成为明暗处理。...四、多边形的模式 多边形不是必须用当前颜色填充的。默认情况下绘制多边形是实心的,但可以通过指定把多边形绘制为轮廓或只是点(只画出顶点)修改这项默认行为。...GL_FILL是默认值,生成填充多边形;GL_LINE生成多边形的轮廓;而GL_POINT只画出顶点。 GL_LINEGL_POINT绘制的点线受glEdgeFlag所设置边缘标记的影响。...五、多边形绘制规则 在使用大量多边形构造一个复杂表面时,有两条重要规则。

    2.2K110

    python中用turtle画一个圆形(pythonturtle教程)

    最近发现一个很有意思的画图的python库,叫做turtle,这里先说下用turtle这个库实现用正方形画圆的思路。...每次都用乌龟(turtle) 画出一个正方形,然后通过旋转3°后,继续画一样的正方形,在通过120次循环后就实现了完整的圆,这里当然也可以用其他的角度次数,只要能完成360度就可以了。...拉伸参数 “outline”: positive number 外部 “tilt”: number 倾斜 isdown() 如果笔停止返回True,反之返回False 颜色控制 color() 颜色,直接使用返回当前笔颜色与填充颜色...pencolor() 设置笔的颜色 fillcolor() 设置笔的填充颜色 填充 filling() 返回填充状态, begin_fill() 在填充之前使用 end_fill() 结束填充 更多绘画控制...left(180) onclick(turn) onrelease() 鼠标释放事件,同上 ondrag() 鼠标移动事件,同上 乌龟一些特殊方法 begin_poly() 开始记录多边形的顶点,当前点为起始点

    2.2K10

    一个有趣的例子带你入门canvas

    绘制多边形绘制一个多边形多边形图形的基本元素是路径。路径是通过不同颜色宽度的线段或曲线相连形成的不同形状的点的集合。一个路径,甚至一个子路径,都是闭合的。...使用路径绘制图形需要一些额外的步骤。 首先,你需要创建路径起始点 然后你使用画图命令去画出路径。 之后你把路径封闭 一旦路径生成,你就能通过描边或填充路径区域渲染图形。...stroke() 通过线条绘制图形轮廓。 fill() 通过填充路径的内容区域生成实心的图形。...而每次调用这个方法之后,列表都会被重置,然后就可以绘制新的图形。...有没有其他方案了,在游戏界有一个普遍使用的方案——包围盒,什么是包围盒呢?我们以上面的图形举例,外面画的红线框就是这个多边形的包围盒。

    90010

    实战 | OpenCV绘制斜矩形并截取区域ROI保存(附代码)

    导读 本文主要介绍如何用OpenCV绘制斜矩形并将绘制区域ROI截取保存。 背景介绍 在图像处理中正矩形ROI方便绘制截取,使用广泛。...在OpenCV中我们可以使用RotateRect类不规则ROI提取方法实现。...实现步骤与演示 测试图像如下,假定我们要截取下面的IC器件: 【1】给定RotateRect的中心坐标、角度、大小,然后获取旋转矩形端点坐标,通过画线的方法绘制即可。...} imshow("rotateRect", imgCopy); 【2】使用fillPoly方法可以实现填充绘制,具体代码如下: Point ppt[] = { ptCorner[0], ptCorner...fillPoly(imgCopy, pts, npt, 1, Scalar(0, 0, 255), 8); //画填充多边形 imshow("mask", mask); imshow("fillRect

    5.1K50

    Python+Tkinter 图形化界面基础篇:添加图形图像

    添加图形元素 在 Tkinter 中,可以使用 Canvas 小部件添加操作图形元素。 Canvas 是一个可绘制图形的矩形区域,你可以在其中创建和操作线条、矩形、椭圆、多边形等图形。...: canvas = tk.Canvas(root, width=400, height=400) canvas.pack() 步骤4:绘制图形 你可以使用 Canvas 的方法绘制各种图形元素。...方法用于绘制矩形,参数包括左上角右下角的坐标,以及矩形的填充颜色。...绘制椭圆 oval = canvas.create_oval(150, 150, 300, 200, fill="red") 效果图: create_oval 方法用于绘制椭圆,参数包括左上角右下角的坐标...方法用于绘制多边形,参数为多边形的顶点坐标,以及填充颜色。

    1.3K10

    一文 get 入门 canvas 的最佳路径

    绘制多边形绘制一个多边形多边形图形的基本元素是路径。路径是通过不同颜色宽度的线段或曲线相连形成的不同形状的点的集合。一个路径,甚至一个子路径,都是闭合的。...使用路径绘制图形需要一些额外的步骤。 首先,你需要创建路径起始点 然后你使用画图命令去画出路径。 之后你把路径封闭 一旦路径生成,你就能通过描边或填充路径区域渲染图形。...stroke() 通过线条绘制图形轮廓。 fill() 通过填充路径的内容区域生成实心的图形。...而每次调用这个方法之后,列表都会被重置,然后就可以绘制新的图形。...比如上图的红框,框选了不是多边形部分的内容。如果你想用包围盒的方案做,那就要分的足够细,比如下图: ?

    91761
    领券