加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 19:12:04 所属栏目:Java 来源:网络整理
导读:在这里,我要问更多愚蠢的图形问题.希望很快我会离开图形世界,再次将自己牢牢地植入无色中间层.对于那些能够通过代码以令人愉悦的方式摆弄图像的人来说,我有了新的尊重. 也就是说,我在画布上绘制了一个Polygon.它可以有任意数量的点,但我们假设现在是12.实现

在这里,我要问更多愚蠢的图形问题.希望很快我会离开图形世界,再次将自己牢牢地植入无色中间层.对于那些能够通过代码以令人愉悦的方式摆弄图像的人来说,我有了新的尊重.

也就是说,我在画布上绘制了一个Polygon.它可以有任意数量的点,但我们假设现在是12.实现的多边形通过点到点的直线连接.我想应用某种类型的转换,以便更“自然”地绘制形状,就好像有人用钢笔/铅笔连接点.

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

如果您需要任何其他信息,请不要犹豫.

好的谢谢,
马特

最佳答案
开始:
*创建一个GeneralPath
*使用GeneralPath.curveTo将路径添加到路径中(float x1,float y1,float x2,float y2,float x3,float y3)
*得到一个Graphics2D对象
*使用Graphics2D.draw(Shape s)绘制GeneralPath(这是一个形状)

您可以选择设置线帽和连接样式:
*创建一个BasicStroke(宽度= 1,上限= CAP_ROUND,join = JOIN_ROUND)
*使用Graphics2D.setStroke设置笔画

唯一困难的是你必须弄清楚方法curveTo的x3,y3

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读