首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java上的Graphics2D笔画尖峰

Java上的Graphics2D笔画尖峰
EN

Stack Overflow用户
提问于 2014-04-26 16:15:22
回答 2查看 250关注 0票数 3

我有一个问题的图形2d笔画,它似乎没有人有这个问题,因为我寻找相似的东西,没有结果。这是图像。

如你所见,我的中风有刺,我不想要。这是我的密码。

该类被扩展到JButton,方法是paintComponent。

代码语言:javascript
复制
    Graphics2D g2d = (Graphics2D)g2.create();
    TextLayout tl = new TextLayout(getText(), getFont(), g2d.getFontRenderContext());
    Shape to = tl.getOutline(null);
    int x = (getSize().width-to.getBounds().width)/2;
    int y = (getSize().height+(to.getBounds().height-8))/2;
    System.out.println(to.getBounds().height);
    g2d.translate(x, y);
    g2d.setStroke(new BasicStroke(15.0f));
    g2d.setColor(new Color(155,155,155));
    g2d.draw(to);
    g2d.dispose();

当降低行程厚度时,尖峰也变小了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-22 21:02:29

您尝试过在BasicStroke中使用JOIN_BEVELJOIN_ROUND吗?您使用的默认连接是JOIN_MITER,这可能是那些丑陋(酷?)的原因。尖峰。

票数 1
EN

Stack Overflow用户

发布于 2015-07-22 21:19:05

尝尝这个

代码语言:javascript
复制
Stroke stroke = new BasicStroke(1,
    BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 0,
    null, 0);
g2.setStroke(stroke);

就像弗兰兹刚才说的,这是JOIN_MITER不守规矩的行为之一。一个有轨连接将远远超出实际的线的交点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23313487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档