问题标签 [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.
c# - Region.IsVisible(PointF) 对于大浮点值的性能非常慢
我遇到了一个奇怪的性能问题,如果能解释一下我正在经历的行为,那就太好了。
我正在使用 System.Drawing.Region.IsVisible(PointF) 来确定一个点是否在多边形内。这通常工作得很好,但昨天我注意到如果多边形很复杂并且它由大的 x 和 y 值组成,IsVisible 方法的性能会变得非常慢。
下面是一些重现问题的代码(以及显示多边形形状的图像),对于大数组大小感到抱歉,但在问题出现之前,多边形需要非常复杂。
在原始点上调用 IsVisible 时,我的机器需要 460 651 毫秒才能完成,而当我首先将所有点除以 1000,然后调用该方法时,需要 1 毫秒。为什么我看到时间上有这么大的差异?我不认为浮点数的实际值会影响性能。
c# - 使用 GDI+ 矩阵变换对 GraphicsPath 进行动态缩放
我正在尝试在 GraphicsPath 上实现动态缩放,用户在其中绘制一个矩形来定义缩放区域(请参阅下面代码中的 selectRect)。当用户释放鼠标时,GraphicsPath 被缩放并(通过矩阵)平移到正确的位置,以在“drawArea”定义的矩形中显示缩放区域。
目的是允许用户动态放大多次。
下面用于计算比例和平移值的代码在用户第一次缩放时完美运行。但是,任何后续缩放都不会产生预期的结果。
ConvertScreenToWorld()
绘图代码:(注意目的是保留原始路径数据,这就是我使用克隆的原因)
任何有关如何使其与累积缩放一起使用的建议将不胜感激。
c# - C# 使用 OpenTK 渲染 GraphicsPath
我正在用 C# 编程并使用 OpenTK(openGL 库)来渲染 3D。我有一个需要在 3D 空间中渲染的 System.Drawing.Drawing2D.GraphicsPath。到目前为止,我能够像这样渲染一个粗略的轮廓......
我的问题是如何填写 GraphicsPath 中的内容,有没有办法从 GraphicsPath 渲染贝塞尔曲线?如果有怎么办?
c# - SkiaSharp 是否有与 System.Drawing 等效的 Flatten 方法?
我最近使用 SkiaSharp 遇到了障碍。我一直在将旧代码从 System.Drawing 移植到 SkiaSharp。GraphicsPath 类有一个 flatten 方法,可以将曲线转换为一系列连接的线段。
我似乎找不到 SkiaSharp 的等效方法。SKPath Simplify 方法看起来有点模糊它的实际作用。在我的测试中,它似乎没有产生平坦的路径。
https://developer.xamarin.com/api/member/SkiaSharp.SKPath.Simplify()/
c# - 是列表在 C# 中可能吗?
我正在尝试使用 GraphicsPath 列表而不是数组,因为我不知道用户将创建的路径数。
在此之后,我填写列表如下:
但是当我尝试使用列表中的 GraphicsPath 时,虽然 Count 属性是正确的,但由于参数异常,我无法使用如下所示的对象。
是否与 GraphicsPath 被 Disposabe 相关?还是smt做错了?
c++ - GdiPlus :GraphicPath 中的区域而不填充它
我需要从 GraphicPath 获取 Gdi+ 区域而不填充它,我不知道该怎么做。
平局胜于言语,所以这就是我想做的:
- 我有一个椭圆,而不是我想显示为未填充(已知线宽)
- 我有一个完整的矩形,我希望它从椭圆中减去自己。
- 然后,我想得到椭圆,未填充,减去部分
所以,这是我的代码:
问题是我得到的实际上是这样的:
似乎从 GraphicPath 创建一个区域会自动填充该区域。是否可以从仅具有轮廓的 GraphicPath 获取区域?例如,通过给笔或线宽?
我已经阅读了有关 GraphicPath Widen 函数的内容,但它并没有真正做到我想要的。
奇怪的是,像这样简单的事情却做不到。
或者,也许我错过了什么!
感谢您的帮助,祝您有美好的一天。
亚历克斯。
c# - WinForms:在正确的位置绘制路径
这是我在这里提出的一个问题的后续:WinForms: Measure Text With No Padding。问题是,鉴于此代码...
...为什么矩形不重叠?
显然,当我翻译路径时,我并没有使用稍后绘制它们的相同单位进行翻译,但我不知道如何修复它。有任何想法吗?