如何在Java左侧创建仅具有2个角且平滑度为圆角的矩形?
在Java中是指具有左上角和左下角的圆角以及带有红色填充背景的平滑角的矩形?
我搜索了SO,然后用谷歌搜索,但找不到2个圆滑的圆角。
最佳答案
只需创建一个类似于以下内容的圆角矩形:
RoundRectangle2D roundedRectangle = new RoundRectangle2D.Float(10, 10, 240, 160, 10, 10);
然后从中点到右侧的所需点绘制一个普通矩形。
示例图:
注意:确保没有边框。我把它们画出来是为了起到示范作用。
码:
Graphics2D g2 = (Graphics2D) g;
RenderingHints qualityHints = new RenderingHints(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON );
qualityHints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY );
g2.setRenderingHints( qualityHints );
g2.setPaint(Color.RED);
double x = 50;
double y = 50;
double w = x + 250;
double h = y + 100;
g2.fill(new RoundRectangle2D.Double(x, y, w, h, 50, 50));
g2.fill(new Rectangle2D.Double(x + 100,y,w,h));