一些像Manga Studio这样的绘画程序包括笔刷,它们逐渐缩小到笔画末端的一个点。关于如何实现这一点,我有一些想法,但我认为这些想法对我来说似乎有问题/效率低下......我无法通过谷歌找到关于此任务的任何信息,所以我想我会在这里问。创建锥形笔划
有没有人知道任何算法在AWT中创建锥形笔画?
我需要弄清楚的是,如何将我已经从鼠标事件(例如(x50,y50) - (x37,y20) - (x47,y10))获得的鼠标坐标转换为Path2D.curveTo()或者这种性质的东西。你如何做数学来减少中风? (我不认为有没有什么办法可以做到这一点,没有相当数量的数学......但我想我可能是错的。)
谢谢!
编辑:请注意,允许用户使用此笔画徒手绘制图像,这意味着笔画的边必须弯曲以匹配用户的笔。
谢谢。不幸的是,这对我的情况并没有什么帮助。这是一个允许用户徒手绘制图像的界面,因此笔划的边必须弯曲,这使任何直接使用Polygon的选项都成为非选项。我想我可以使用带多余点的多边形作为基础,然后复制每个点并根据下一个徒手绘制点的位置旋转它,然后将其添加到Path2D中,但这会让我回到起点,看起来像是什么非常复杂,可能效率低下的解决方案 –
您可以使用任何['形状'](http://download.oracle.com/javase/7/docs/api/java/awt/Shape.html),或许是路径或曲线之一。 – trashgod
这不是真正的“哪些对象”,这是问题...我已经使用各种形状对象,并使用Path2D实现了画笔。但是这并没有回答如何有效地计算/绘制减少中风所涉及的曲线的问题。我需要的是Path2D.curveTo(x1,y1,x2,y2) - 我如何将鼠标坐标转换为curveTo方法中的参数?这可能不是正确的方法 - 它可能是cubeTo或quadTo,但这是数学,这是我的挑战。感谢您的建议,寿! :D –