如何创建一个矩形,在java中只有左边有2个光滑圆度的角?
表示一个矩形,左上角和左下角的圆角和光滑的角落,背景在java中填充红色?
我搜索了SO并用谷歌搜索了但是找不到两个角落的光滑。
答案 0 :(得分:4)
只需创建一个类似于此的圆角矩形:
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));