我想创建一个可以用数位板绘制的矢量对象,并将尊重来自笔的压力信息(通过适当地增加/减少线宽)。现在我知道如何从 NSEvent 中获取压力信息,但当然 NSBezierPath 不支持不同的线宽。
所以我试图通过计算曲线末端的垂直线并将它们与同一条曲线连接起来,生成一条贝塞尔路径,它是我的线的轮廓。它几乎适用于我的单个曲线段的小测试项目:
https://github.com/uliwitness/WideningBezierPathTest
但这有一个大问题:线条在中间变细到几乎没有 2 个像素(它应该只从 32 变为 8)。有谁知道我将如何调整控制点,使曲线部分的两条线的距离大致相同?
有人有想法吗?建议?有用的文章?