我想创建一个可以用数位板绘制的矢量对象,并且可以从笔中获取压力信息(通过适当地增加/减小线宽)。现在我知道如何从NSEvent中获取压力信息,但当然NSBezierPath不支持变化的线宽。
所以我试图通过计算曲线末端的垂直线并将它们连接到相同的曲线来生成Bezier路径,该路径是我的线的轮廓。它几乎可以在我的小测试项目中用于单曲线段:
https://github.com/uliwitness/WideningBezierPathTest
但是这有一个很大的问题:线条中间只有2个像素(它应该从32到8)。有谁知道我如何调整控制点,使弯曲部分线的两条边距离大致相同?
有人有想法吗?建议?有用的文章?
答案 0 :(得分:2)
感谢其他人的建议,我已经设法将一些有用的东西拼凑起来。我已经将更改提交到存储库,但是如果要查看旧代码,可以返回一些修订版。这就是我现在所做的:
如果您想使用它进行打印或在HiDPI下使用,您可能不得不使用bezier路径的“平坦度”,但对于1x屏幕显示它看起来很好。