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

时间:2014-04-30 15:26:04

标签: 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();

使圆角成为顶角。

我非常感谢所有可以帮助我的答案。

由于

1 个答案:

答案 0 :(得分:3)

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

首先,你需要移动你的起点,如果你从一个角落开始,而不是一个圆形的边缘,这将更容易。

接下来,您需要修改绘制,以便在正确的位置对边缘进行舍入。

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. 关闭形状(水平移动到左下角)