gpt4 book ai didi

Java AWT - 绘制由平滑曲线连接的多边形

转载 作者:搜寻专家 更新时间:2023-10-31 20:16:03 25 4
gpt4 key购买 nike

在这里我问了更多愚蠢的图形问题。希望很快我能离开图形世界,再次坚定地置身于无色的中间层。我对那些能够通过代码以令人愉悦的方式摆弄图像的人产生了新的敬意。

就是说,我正在 Canvas 上绘制多边形。它可以有任意数量的点,但我们现在假设 12。所实现的多边形通过点与点之间的直线连接。我想应用某种类型的转换,以便更“自然”地绘制形状,就好像有人用钢笔/铅笔连接了这些点一样。

我不确定这样的描述是否过于模糊。我认为我正在寻找的是贝塞尔曲线,但我是一个图形(和几何)松弛下巴。一般来说,我对新颖的解决方案很感兴趣,只是让直边多边形看起来更像一滴墨水。也许通过控制来实现或多或少的“自然”形状。

如果您需要任何其他信息,请随时询问。

非常感谢,马特

最佳答案

开始:
* 创建一个 GeneralPath
* 使用 GeneralPath.curveTo(float x1, float y1, float x2, float y2, float x3, float y3)
* 得到 Graphics2D对象
* 使用 Graphics2D.draw(Shape s) 绘制 GeneralPath(这是一个形状)

您可以选择设置线帽和连接样式:
* 创建一个 BasicStroke (width=1, cap=CAP_ROUND , join=JOIN_ROUND )
* 使用 Graphics2D.setStroke 设置描边

唯一困难的部分是你必须计算出方法 curveTo 的 x3,y3

关于Java AWT - 绘制由平滑曲线连接的多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3489674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com