问题标签 [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# - C#如何用最后一个绘制的颜色填充两个GraphicsPath之间的交集?
我必须使用鼠标移动在 C# 中开发一个绘画应用程序,所以我决定使用一个 GraphicsPath 列表,在其中存储每个绘图的路径(将绘图视为在 mouseDown 和 mouseUp 事件之间绘制的路径)。每条路径由先前和当前鼠标位置之间的线组成。
同时,重写 OnPaint 事件使我能够以良好的刷新率显示这些路径。问题出现在特定场景中,用户采用具有一定透明度的笔颜色并在现有路径上绘制路径,导致颜色重叠......:
这种情况打破了项目的要求之一,因为不能有任何颜色混合。最后绘制的颜色必须保留。我尝试使用 Regions 和 Exclude 方法,但结果不是我们想要的,因为 region 不能准确地拟合线的路径,并且执行时间急剧增加。
我已经为此工作了数周,但我无法为这个问题找到任何好的解决方案。
有什么建议么?
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
但这似乎没有实现这一点。有什么办法可以辨别吗?在伪代码中,类似于:
谢谢
c# - 使用 GraphicsPath 绘制逻辑门
全部。
我正在从事一个个人项目,以了解有关 C# 的更多信息。这个项目由一个逻辑图编辑器组成,我正在使用TreeView组件向用户显示可以在面板上创建的所有可能的对象以绘制逻辑图。
每次在 TreeView 中单击一个选项时,我都能够在面板内实例化新对象,但我仍然必须处理每个逻辑门绘图。到目前为止,我一直使用GraphicsPath类来定义 AND 和 NAND 门,一切都很顺利。但是,我在绘制 OR 门时遇到了一些麻烦。
我正在尝试按照 IEEE 标准以正确的比例绘制所有逻辑门,并且基于该标准,OR 门应绘制如下:
但是,我能够得到的是以下内容:
我为获得此结果而编写的代码是(此代码是我创建的自定义控件的一部分):
iHeight
包含对象的高度。棘手的部分是最左边的弧线,但我已经尝试了很多变化,但没有解决问题。我究竟做错了什么?
感谢您的支持!