java - 如何在java中绘制自定义矩形

标签 java draw drawrectangle path-2d

我的要求几乎重复:almost duplicate

但我想在顶部制作圆角。

我尝试修改查看 the documentation 的代码但我对 Java 绘图还很陌生,而且我没有让它工作。 :/

所以我的问题是,我该如何修改它:

moveTo(0,0);
lineTo(0, radius);
curveTo(0, 0, radius, radius, 0, radius);
lineTo(width, height - radius);
curveTo(width, height, width, height, width - radius, height);
lineTo(0, height);
closePath();

使圆角成为顶角。

我真的很感谢所有可以帮助我解决这个问题的答案。

谢谢

最佳答案

关键是您想要可视化代码如何绘制对象。原始代码从左上角开始,按顺时针方向绘制。

首先,您需要移动起点,如果您从角而不是圆边开始,这会容易得多。

接下来,您需要修改绘图,以便将边缘倒圆到正确的位置。

moveTo(0, height);
lineTo(0, radius);
curveTo(0, 0, 0, 0, radius, 0);
lineTo(width - radius, 0);
curveTo(width, 0, width, 0, width, radius);
lineTo(width, height);
closePath();

所以,我在这里所做的是:

  1. 从左下角开始
  2. 垂直移动到位于左上角的曲线起点
  3. 在左上角绘制曲线
  4. 水平移动到位于右上角的曲线起点
  5. 在右上角绘制曲线
  6. 垂直移动到右下角
  7. 闭合形状(水平移动到左下角)

关于java - 如何在java中绘制自定义矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23392132/

相关文章:

python - pygame 在矩形消失后不会重新绘制矩形

python - 带点线或虚线的 opencv 矩形

c# - 在 MonoGame 中绘制矩形

java - 如何设置:hidden value from another JSP element

Java:我是否缺少限制模式?我需要仅使用选定的方法来限制实现

swift - 删除填充的 NSBezierPath

java - 如何使用 ActionListener 在 JPanel 上绘制一些形状?

canvas - 动画 Canvas 圆圈以在加载时绘制

java - 从不同的域调用 REST API,例如具有相对 URL 的 Angular JS

java - Java 的条件 xpath