加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – fillRoundRect看似无法正确呈现的问题

发布时间:2020-12-15 08:37:57 所属栏目:Java 来源:网络整理
导读:我有一个非常简单的图像生成器程序,它只是在Buffered Image上绘制一个圆角矩形,然后将图像保存到文件中. try{ BufferedImage image = new BufferedImage(40,40,BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = image.createGraphics(); g2.setPaint(Color.bl
我有一个非常简单的图像生成器程序,它只是在Buffered Image上绘制一个圆角矩形,然后将图像保存到文件中.

try
{
    BufferedImage image = new BufferedImage(40,40,BufferedImage.TYPE_INT_ARGB);

    Graphics2D g2 = image.createGraphics();
    g2.setPaint(Color.blue);

    g2.fillRoundRect(0,39,6,6);

    File file = new File("C:test.png");

    ImageIO.write(image,"png",file);
}
catch( IOException e )
{
    e.printStackTrace();
}

每当我使用drawRoundRect绘制矩形时,一切都按预期工作:

但是,当我使用fillRoundRect时,矩形似乎在右侧和底侧被裁剪:

我已经尝试使BufferedImage本身更大并??保持矩形大小相同,但问题仍然存在.此外,无论我选择什么样的矩形宽度和高度或弧宽和高度,4个角都看起来不一样(虽然它越大,它看起来就越不明显).

这是一个常见的问题,还是我可能误解圆角矩形?

任何帮助或建议将不胜感激.

谢谢,

B.J.

解决方法

您是否尝试过启用抗锯齿功能?

g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读