问题标签 [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 投票
0 回答
56 浏览

c# - C#如何用最后一个绘制的颜色填充两个GraphicsPath之间的交集?

我必须使用鼠标移动在 C# 中开发一个绘画应用程序,所以我决定使用一个 GraphicsPath 列表,在其中存储每个绘图的路径(将绘图视为在 mouseDown 和 mouseUp 事件之间绘制的路径)。每条路径由先前和当前鼠标位置之间的线组成。

同时,重写 OnPaint 事件使我能够以良好的刷新率显示这些路径。问题出现在特定场景中,用户采用具有一定透明度的笔颜色并在现有路径上绘制路径,导致颜色重叠......:

在此处输入图像描述

这种情况打破了项目的要求之一,因为不能有任何颜色混合。最后绘制的颜色必须保留。我尝试使用 Regions 和 Exclude 方法,但结果不是我们想要的,因为 region 不能准确地拟合线的路径,并且执行时间急剧增加。

我已经为此工作了数周,但我无法为这个问题找到任何好的解决方案。

有什么建议么?

0 投票
0 回答
74 浏览

c# - 包含(非异或)方式的多边形填充路径联合

我需要用抗锯齿填充一个复杂的区域。

该区域由许多旋转的矩形(如向日葵的花瓣)和一个中心圆组成。

区域不支持抗锯齿

所以我尝试了 FillPath 但没有填充矩形重叠的区域。(异或)

有没有办法 GraphicsPath.AddPolygon/AddEllipse() 非异或方式?

在此处输入图像描述

0 投票
1 回答
67 浏览

vb.net - 获取GraphicsPath.DrawString截断绘制文本的位置

我有几种绘制轮廓文本的方法。这方面的细节并不重要,但它可以说明问题:
Graphics DrawPath 的源代码在渲染文本时会产生意想不到的结果

正确地将长字符串转换为边界内带有省略号的字符串。例如

Manic Miner 是一款平台视频游戏,最初由 Matthew Smith 为 ZX Spectrum 编写,由 Bug-Byte 于 1983 年发行。它是 Miner Willy 系列的第一款游戏,也是平台游戏类型的早期游戏之一。

变成:

Manic Miner 是一款平台视频游戏,最初由 Matthew Smith 为 ZX Spectrum 编写,由 Bug-Byte 于 1983 年发行。它是 Miner 中的第一款游戏...

一切都很好。我需要的是一种代码方式,可以准确查看已显示全文的哪一部分。然后,这将用于在相同的范围内循环浏览文本(如果愿意,几乎可以分页)以显示所有文本。

我看了看,MeasureString但这似乎没有实现这一点。有什么办法可以辨别吗?在伪代码中,类似于:

谢谢

0 投票
1 回答
150 浏览

c# - 如何使用 GraphicsPath 绘制形状以创建自定义控件的区域?

我目前正在尝试覆盖OnPaint()我正在构建的自定义控件的方法。
该对象只是一个简单的面板,但我试图让它看起来不同类型的方式,像这样:

所需的导航选项卡.

我正在使用 GraphicsPath 来帮助我尝试完成此任务,但它的外观/行为不像我预期的那样工作,因为它目前看起来像这样:

导航选项卡失败.

这是我一直在努力重新创建图 1的代码:

谁能告诉我我错过了什么或我做错了什么?

0 投票
0 回答
57 浏览

c# - 使用 GraphicsPath 绘制逻辑门

全部。

我正在从事一个个人项目,以了解有关 C# 的更多信息。这个项目由一个逻辑图编辑器组成,我正在使用TreeView组件向用户显示可以在面板上创建的所有可能的对象以绘制逻辑图。

每次在 TreeView 中单击一个选项时,我都能够在面板内实例化新对象,但我仍然必须处理每个逻辑门绘图。到目前为止,我一直使用GraphicsPath类来定义 AND 和 NAND 门,一切都很顺利。但是,我在绘制 OR 门时遇到了一些麻烦。

我正在尝试按照 IEEE 标准以正确的比例绘制所有逻辑门,并且基于该标准,OR 门应绘制如下:

根据 IEEE 标准或门。

但是,我能够得到的是以下内容:

我画一个或门的可耻尝试

我为获得此结果而编写的代码是(此代码是我创建的自定义控件的一部分):

iHeight包含对象的高度。棘手的部分是最左边的弧线,但我已经尝试了很多变化,但没有解决问题。我究竟做错了什么?

感谢您的支持!

0 投票
0 回答
33 浏览

c# - 失去焦点时自定义文本框值消失

我创建了一个自定义文本框,它是:

  • 圆形
  • 边框颜色会根据用户当前是否集中注意力而改变。

我目前遇到的问题是,每当我在文本框中输入一个值时,该值看起来都很好,但是当我在其区域之外单击时,文本会像这样消失: 在此处输入图像描述

我可以取回文本的唯一方法是在文本框中单击,我还有一些根本没有出现的占位符文本,但这是次要问题。

这是代码:

构造函数

图形路径法

OnPaint 事件

焦点/失去焦点事件