0

一些绘画程序,如 Manga Studio,包括在笔触末端逐渐变细的笔刷。我对如何实现它有一些想法,但我的想法对我来说似乎有问题/效率低下......我无法通过谷歌找到有关此任务的任何信息,所以我想我会在这里问。

有谁知道在 AWT 中创建锥形笔划的任何算法?

我需要弄清楚的是如何将我已经从鼠标事件(例如 (x50,y50)-(x37,y20)-(x47,y10) )中获得的鼠标坐标转换为 Path2D.curveTo() 或类似的参数自然。你如何计算逐渐变细的行程?(我不认为没有大量的数学可以做到这一点......虽然我想我可能是错的。)

谢谢!

编辑:请注意,允许用户使用此笔画在图像上徒手绘制,这意味着笔画的边必须弯曲以匹配用户的笔。

4

1 回答 1

1

Polygon是一个不错的选择。As is 实现了Shape接口,可用,如此createStrokedShape()所示。可以应用An来旋转、平移或缩放对象,如此处和此处所示。这些示例可以帮助您判断性能。AffineTransform

附录:虽然我没有尝试过,但Arc2D可能是一个合理的替代旋转Polygon. 一个相关的QuickDraw 原语曾经为古老的MacDraw赋予了独特的箭头形状

于 2011-09-14T20:56:56.613 回答