问题标签 [graphicspath]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2216 浏览

.net - 用两种颜色填充图形路径

我正在 WinForms 应用程序中绘制一些字形。每个字形由一个图形路径定义,基本上是一个圆角矩形。

现在我用一种颜色填充图形路径,但我需要用两种颜色填充。下面的例子解释了我需要什么:

在此处输入图像描述

我想避免创建一个新GraphicsPath的,因为应用程序的性能可能会受到影响。

是否有任何棘手的选项可以在不创建新图形路径的情况下绘制第二种填充颜色?

这是我的图形路径的代码:

0 投票
1 回答
695 浏览

c# - 需要通过 C# Graphics 绘制 Google 标记图像

我需要通过 C# 图形绘制一个谷歌标记图像,我需要谷歌标记的确切坐标我该怎么做请帮忙。我当前的代码是 .

0 投票
0 回答
135 浏览

c# - 获取 CustomLineCap C# 的路径

如何获取有关System.Drawing.Drawing2D.CustomLineCap路径的信息?我可以通过给它 fillPath 和 strokePath: constructor - 来构造 CustomLineCap CustomLineCap(GraphicsPath, GraphicsPath)

但是有什么方法可以从中提取 fillPath 和 strokePath 吗?

0 投票
2 回答
928 浏览

c# - c#:检查椭圆上的点

我有一个 bool 函数,可以检查点是否在椭圆上。此外,用户可以将鼠标移动到椭圆路径附近以选择椭圆,以便将其移动到新位置。我检查了椭圆边界矩形的角点。如果用户选择了这四个点,就启用了椭圆的resize功能,我已经实现了。

为了启用移动功能,我正在cushion使用 Region 类检查距离等于(即提供给鼠标位置的填充)的点。

试过:: 在下面的代码中,我考虑了3个边界矩形,如果要检查的点位于椭圆外区域和椭圆内区域之间,我想返回true。如果不是,返回false。

我希望在涂成红色的区域中检查我的观点。pS::连续边界矩形之间的距离与图片中绘制的不同。即椭圆边缘(外部、中间和内部)之间的距离相同 我提到的链接::解决方案的链接 1

编辑:: 解决了 GraphicsPath.IsOutlineVisible()的问题

0 投票
4 回答
3969 浏览

c# - 使用 Graphics.FillPath 奇怪地绘制 GraphicsPath

我编写了一些GraphicsPath基于自定义结构创建圆角矩形的代码BorderRadius(它允许我定义矩形的左上角、右上角、左下角和右下角半径)和初始值Rectangle本身:

现在,如果我将它与 FillPath 和 DrawPath 一起使用,我会注意到一些奇怪的结果:

我放大了每个结果Rectangle(右侧),以便您可以清楚地看到问题:

矩形

我想知道的是:为什么绘制矩形上的所有弧都相等,而填充矩形上的所有弧都是奇数?

更好的是,可以修复它,以便正确绘制填充的矩形吗?

编辑:是否可以在不使用 FillPath 的情况下填充 GraphicsPath 的内部?

编辑:根据评论....这里是 BorderRadius 结构的一个例子

0 投票
1 回答
867 浏览

c# - AddArc c# - 解释

我想使用 c# 代码将弧添加到我的绘图中。语法是:

有人能描述一下宽度、高度开始和扫掠角是多少吗?

谢谢你。

0 投票
2 回答
1211 浏览

c# - 矩阵和图形路径

我使用矩阵扩大了图形路径。我如何设置新路径正好在较小的路径上而不是在它的一侧?就像带有矩形的 Inflate。

0 投票
1 回答
1827 浏览

c# - 如何使用 Clipper 库来放大和填充路径

我正在尝试使用 Clipper 库来修改图形路径。

我有代表轮廓/笔划的宽度列表。我想先从最大的开始,然后一直到最小的。

在本例中,我们将添加 2 个宽度分别为 20 和 10 的笔画。

我想采用我的图形路径,并将其扩展/偏移 20 像素到一个新的图形路径中。我不想改变原来的路径。然后我想用纯色填充新的图形路径。

接下来,我想采用我原来的图形路径,并将其扩展/偏移 10 个像素,形成一个新的图形路径。我想用不同的颜色填充这条新路径。

然后我想用不同的颜色填充我的原始路径。

这样做的正确方法是什么。我创建了以下方法来尝试执行此操作,但它无法正常工作。

0 投票
2 回答
462 浏览

c# - 如何简化图形路径?

我正在按照 MouseMove 事件创建一个相当密集的 GraphicsPath。除了在移动过程中进行过滤之外,是否有一个例程来简化 GraphicsPath 的事后?

我现在还想实现一个“基于矢量的洪水填充”,这将创建另一个非常密集的路径。

我想我将不得不逐步检查它并比较每条线的方向,直到它的变化超过一个限制或直到变化加起来达到这个限制。或者我可以简单地删除所有其他点。比较粗糙。

我曾希望有一个内置的例程或标准算法;但也许我没有使用正确的搜索词..?

所有建议表示赞赏。

0 投票
2 回答
2708 浏览

c# - Graphics 不使用 Line 绘制 GraphicsPath

我有一个 Windows 窗体应用程序,可以在其中向主窗体添加不同的图形(矩形、圆形等)。该图是一个用户控件,它是我用 GraphicsPath 定义的形状。添加新图的方法:

在形状(图)类中:

调整图形大小时,我重绘它:

当我添加矩形和圆形等形状时,一切正常。但是当我选择 Line 时,我的表单上什么也没有出现。断点表明程序在所有方法中都执行了步骤this.Controls.Add(newShape);

我不明白为什么这不起作用。我会很感激任何建议。