如何在java中绘制自定义矩形
我要问的问题几乎是重复的: 但我想在顶部做圆角 我试图修改代码,但我对这张Java绘图还很陌生,没有让它工作/ 所以我的问题是,我该如何修改它:如何在java中绘制自定义矩形,java,draw,drawrectangle,path-2d,Java,Draw,Drawrectangle,Path 2d,我要问的问题几乎是重复的: 但我想在顶部做圆角 我试图修改代码,但我对这张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
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,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();
所以,我在这里做的是:
关键是您希望可视化代码如何绘制对象。原始代码从左上角开始,以顺时针方向绘制 首先,你需要移动你的起点,如果你从一个角开始,而不是从一个圆边开始,这会容易得多 接下来,需要修改绘图,以便在正确的位置舍入边
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();
所以,我在这里做的是:
关键是您希望可视化代码如何绘制对象。原始代码从左上角开始,以顺时针方向绘制 首先,你需要移动你的起点,如果你从一个角开始,而不是从一个圆边开始,这会容易得多 接下来,需要修改绘图,以便在正确的位置舍入边
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();
所以,我在这里做的是:
关键是您希望可视化代码如何绘制对象。原始代码从左上角开始,以顺时针方向绘制 首先,你需要移动你的起点,如果你从一个角开始,而不是从一个圆边开始,这会容易得多 接下来,需要修改绘图,以便在正确的位置舍入边
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();
所以,我在这里做的是:
谢谢你的回答!这真的让我明白了该如何思考。如果你愿意,你可以再多了解一点第三步。五,,通过曲线,了解如何使用3个不同的x和y点绘制曲线。我会尽快尝试一下,看看是否有效。@raxelsson,curveTo方法绘制了一条“与当前坐标和指定坐标相交的贝塞尔曲线(x3,y3)”()。你可能想在维基百科上了解更多关于Bézier曲线的信息,但本质上这两点相同的原因是将其转换为二次Bézier曲线。再次感谢@USER3507600谢谢你的回答!这真的让我明白了该如何思考。如果你愿意,你可以再多了解一点第三步。五,,通过曲线,了解如何使用3个不同的x和y点绘制曲线。我会尽快尝试一下,看看是否有效。@raxelsson,curveTo方法绘制了一条“与当前坐标和指定坐标相交的贝塞尔曲线(x3,y3)”()。你可能想在维基百科上了解更多关于Bézier曲线的信息,但本质上这两点相同的原因是将其转换为二次Bézier曲线。再次感谢@USER3507600谢谢你的回答!这真的让我明白了该如何思考。如果你愿意,你可以再多了解一点第三步。五,,通过曲线,了解如何使用3个不同的x和y点绘制曲线。我会尽快尝试一下,看看是否有效。@raxelsson,curveTo方法绘制了一条“与当前坐标和指定坐标相交的贝塞尔曲线(x3,y3)”()。你可能想在维基百科上了解更多关于Bézier曲线的信息,但本质上这两点相同的原因是将其转换为二次Bézier曲线。再次感谢@USER3507600谢谢你的回答!这真的让我明白了该如何思考。如果你愿意,你可以再多了解一点第三步。五,,通过曲线,了解如何使用3个不同的x和y点绘制曲线。我会尽快尝试一下,看看它是否有效。@raxelsson,curveTo方法绘制了一条与当前坐标和t相交的“Bézier曲线”