1

我正在编写一个基于矢量的绘图程序,但应该具有更像基于光栅的工具的绘图工具。例如 - 当您使用绘图板笔进行绘图时,产生的矢量笔划,以及压力差和所有内容,实际上是一个填充。矢量曲线恰好适合笔划的外部。此外,如果您拿起橡皮擦并擦除该笔划的一部分,它只会擦除您擦除的确切位置。它不仅会删除矢量点,还会在必须的地方创建新的矢量点。这些笔和橡皮擦的笔触也可以是任何几何形状——不仅在外面有轮廓,而且在中间也有孔。

我对如何做到这一点困惑了很长时间,昨晚我想到了将笔输入绘制到屏幕外位图(其中每个像素都是一位 - 被笔触触摸或未触动),然后当笔触结束(笔被抬起)程序对该位图进行矢量化,然后用适当的颜色放置矢量填充,或者对下面的矢量执行布尔运算以擦除。

我可以使用光栅绘图工具来完成这项工作(这样你就不会一直在可见表面上画线,如果你用透明度绘图,这看起来不太好),但我不知道我会如何适合此一位位图的矢量曲线。操作必须快速但不是实时的,因为它是在抬起笔后完成的。它还必须创建优化的几何图形,以便只使用描述几何图形所需的最小数量的贝塞尔曲线点。

是否有人对如何执行此操作有任何建议、解决方案、指针或参考?或者,还有其他方法吗?

4

0 回答 0