首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java -填充自定义形状

Java -填充自定义形状
EN

Stack Overflow用户
提问于 2010-07-27 00:50:07
回答 3查看 9.2K关注 0票数 6

我已经创建了一个自定义形状,本质上它是一个由四个Arc2D对象组成的集合。

当这些弧线被绘制出来时,它们形成了一个可以被认为是四点圆形的星形,有点像三叶草。一条弧线结束,另一条弧线开始。它们在中心形成一个正方形。想象一下,拿一个正方形,在每边画半个圆。

我可以将这个形状绘制到一个Graphics2D对象,但是当我填充它时,它将只填充圆弧,而不是中心正方形。填充这个内部正方形是我的问题。

我已经实现了下面的getPathIterator()方法。我也实现了contains()方法。但它仍然只会填满弧线。

我试图添加一个Rectangle。填充形状时,矩形/正方形将被正确填充,但是它也会绘制矩形,这显然是预期的,但肯定不是预期的结果。

那么,有没有人有关于如何“填充”这样的形状的想法?

代码语言:javascript
运行
复制
public PathIterator getPathIterator(AffineTransform at) {
    GeneralPath gp = new GeneralPath

    for (Arc2D arcs : this.arcs) {
        gp.append(arc, false);
    }

    return gp.getPathIterator(at);
}
EN

回答 3

Stack Overflow用户

发布于 2010-07-27 12:46:03

我对graphics.But了解不多,我在sun的网站上看过这些例子,我只是把这个链接贴出来,以备你需要。http://java.sun.com/products/java-media/2D/samples/suite/index.html

票数 2
EN

Stack Overflow用户

发布于 2010-07-28 02:31:45

更改GeneralPath的缠绕规则

代码语言:javascript
运行
复制
gp.setWindingRule(GeneralPath.WIND_NON_ZERO);
票数 0
EN

Stack Overflow用户

发布于 2019-10-11 15:41:00

另外,尝试使用带有trueappend作为第二个参数,它将连接点。

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

https://stackoverflow.com/questions/3337009

复制
相关文章

相似问题

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