问题标签 [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 回答
156 浏览

mfc - 有没有办法获取窗口的 GraphicsPath?

我正在尝试使用 OnPaint() 中的 GDI+ 图形类构建窗口。由于 DrawPath() 函数需要 GraphicsPath,有没有办法获取窗口的 GraphicsPath?

0 投票
1 回答
8904 浏览

android - Path.reset 与 Path.rewind

path.reset()在android中和有什么区别path.rewind()

文档说_

公共无效重置()

清除路径中的所有线条和曲线,使其为空。这不会更改填充类型设置。

公共无效倒带()

倒回路径:清除路径中的任何直线和曲线,但保留内部数据结构以便更快地重用。

但这到底是什么意思?

什么时候应该使用其中之一?

0 投票
1 回答
1472 浏览

c# - 使用 GraphicsPath 向矩形添加圆弧

我正在尝试绘制一个 IC 封装的顶视图,它应该看起来像这样(抱歉,我什至无法使用 windows 的油漆将它画得足够好!)

在此处输入图像描述

我正在使用路径对象,但我的路径对象的结果与我期望的相差甚远。至少完整的矩形本身画得很好,但我无法制作您在示例图片中看到的顶部弧线。如果你能指出我正确的地方,那就太好了。这是我的代码:

所以我在这里做的是从左上角开始一些线,到左下角,到右下角,最后到右上角,然后我添加了一条从右上角到顶部中间的线,负 10 像素然后我想添加宽度为 20 像素的弧,然后完成绘图回到左上角。

0 投票
1 回答
1202 浏览

vb.net - 使用 Angus J Clipper 库在 vb.net 中勾勒 GraphicsPath 文本

我正在使用 DrawString 在 GDI+ GraphicsPath 中创建文本,然后将其作为路径输出到 PDF。

目前这一切都运行良好。

我遇到问题的时间是所选字体导致轮廓相互重叠。我有一个图像示例,虽然是一个新用户,但我无法上传它......(似乎毫无意义......?......)

我找到了一个图书馆,也找到了一个与我在这个博客中寻找的相同的人

尽管我不断从库中获得一个空的解决方案,但我已将代码片段转换为 vb.net。

有没有其他人设法传入一个包含字符串的 graphicsPath 并使用这个或类似的库检索概述的文本?

0 投票
2 回答
3482 浏览

c# - 将 Region 转换为 GraphicsPath

我使用 Region 来查找两条路径的交集(由两个多边形创建)。

如何获得 Region d 的交点?

0 投票
1 回答
1987 浏览

android - 改变 android.graphics.Path 在画布上的位置

我已经浏览了几天,但我似乎无法找到一种方法来做到这一点。我希望你们中的一些人可能比我对 Android SDK 及其能力更有经验 :)

假设您在画布上绘制路径,其中最上方和最左侧的控制点 x=300 和 y=500(下图中的涂鸦)。我希望能够将其“矩形”的位置设置为画布坐标,例如 x=10 和 y=10

在此处输入图像描述 所以基本上,它是我感兴趣的路径的矩形这个想法是“切割”这个区域并将其移动到给定位置(但我不想包括已经在画布上的底层绘图)。

我试过的:

将 Path 转换为PathShape,然后转换为ShapeDrawable。我可以倾斜 Drawable 的位置,但它太不精确,无法用来定位它。

getWidth() 和 getHeight() 分别获取画布的宽度和高度。

你能帮我想出一个新想法或纠正我的 ShapeDrawable 想法的方法吗?非常感谢您提前提供的任何帮助!

0 投票
2 回答
856 浏览

c# - GraphicsPath 是否应该在使用后被处理掉

我正在制作一些实用程序类,它们可以将不同类型的符号放置在 CAD 图纸的立面上。我想确保如果我需要处理我这样做的 GraphicsPath 对象。

在 getCircle 函数内部的以下代码中,它显示我正在将 myPath“GraphicsPath”对象传递给 AddStringToPath 函数。

我不能为此使用 using(){} 范围,因为我将 myPath 图形对象作为引用传递。

这种设计可以使用还是我需要采用不同的方式来确保垃圾收集?

0 投票
1 回答
593 浏览

c# - 使用 GraphicsPath 在地图图像上绘制道路

我有一个应用程序(WinForms C#),它允许用户绘制一条线(自由绘制)以突出显示从谷歌地图获取的位图上感兴趣的道路。

我正在使用 Mouse Down/Move/Up 事件将点添加到 GraphicsPath 对象。这适用于仅由两点表示的直线路段。但是当鼠标画轮长时间按住按钮时,会产生大量的点数据。

这不仅效率低下,而且绘制曲线的方式也很笨拙(特别是当缩放级别太低时)。

问题:

  • 路径完成后,我如何以编程方式减少点数而不损失准确性。
  • 有没有更好的方法来使用某种形式的几何构造来捕获点信息?
0 投票
1 回答
749 浏览

c# - 使用缩放的 GraphicsPath 真的很慢

您知道 Graphics 对象如何使用资源吗?

我在面板上绘制了数千个带有经纬度坐标的 GraphicsPath 对象。最初,那些 Graphicspaths 必须被缩放(转换 - 实际上是 4 个矩阵转换)。然后用户可以移动地图,缩放,每个动作都需要重新绘制图形路径。

问题是,当缩放级别在 2000-10000 左右时,整个东西仍然响应,但是当它达到数十万(这是街道级别缩放)时,绘制时间太长,导致整个应用程序无响应。检查可用内存,仍然很多。CPU使用率还可以。

当缩放因子增加时,如何绘制相同的数千个图形路径,每个具有相同的 4 个矩阵变换变得非常慢?处理大量图形路径坐标时 System.Graphics 本身存在问题吗?你们有没有遇到过同样的问题?

  • 对不起,好人,不包括代码:所以这里是“慢”代码的一部分:基本上是 _paint 方法的迭代部分。它运行超过 30,000 个图形路径,大多数是从 esri shp 文件中提取的折线。x 的坐标是 + 并且 y 是 - 并且上下翻转,因此需要在面板上绘制所需的矩阵变换。问题在于低值变量 zI,它比高值变量 zI 快得多。高值 zi 意味着大部分图形路径在绘制区域之外。我尝试通过检查 isVisible 或通过与矩形边界相交来减少 zi 的数量。但这还不够快。有任何想法吗?

    /li>

帮助 .... :)

0 投票
2 回答
1849 浏览

vb.net - 在 vb.net 中创建图形路径数组

我不知道为什么我会遇到这个问题,但我每次都会遇到“未设置为对象的实例”异常。

这有意义吗?

我在主表单中声明了这个

并在 sub 中执行此操作

但无论出于何种原因,我在第二行得到一个对象引用错误。有什么帮助吗?

在 decleration 之后,我想继续在图形路径中添加一条线,如下所示

根据使用列表的建议:

在主类中声明

在子中使用

尝试创建新的图形路径实例时仍然出错

应该没有理由弹出此错误,对吗? 在此处输入图像描述