java多边形填充问题

mirayong1017 2011-04-15 09:18:03
java的fillpolygon的填充规则是奇偶性原则,能否忽略这个原则?例如我要把一张图片里面的多边形区域去除,如果两个多边形之间有交集,则交集的部分不会被去除,有什么方法呢?
...全文
109 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
juhuacha159 2011-05-27
  • 打赏
  • 举报
回复
关注并且学习
nj_dobetter 2011-04-15
  • 打赏
  • 举报
回复
GeneralPath p = new GeneralPath(GeneralPath.WIND_NON_ZERO);//无奇偶性
p.moveTo(0.0f, 0.0f);
p.lineTo(w*.5f, 0.0f);
p.lineTo(w*.5f, h*.2f);
p.lineTo(0.0f, h*.2f);
p.closePath();

p.moveTo(w*.05f, h*.05f);
p.lineTo(w*.55f, h*.05f);
p.lineTo(w*.55f, h*.25f);
p.lineTo(w*.05f, h*.25f);
p.closePath();

g2.setColor(LIGHT_GRAY);
g2.fill(p);
g2.setColor(BLACK);
g2.drawString("NON_ZERO rule", 0, -5);
g2.translate(0.0f, h*.45);

p.setWindingRule(GeneralPath.WIND_EVEN_ODD); //设置奇偶性为打开
g2.setColor(LIGHT_GRAY);
g2.fill(p);
g2.drawString("EVEN_ODD rule", 0, -5);
nj_dobetter 2011-04-15
  • 打赏
  • 举报
回复
奇偶性可以打开或者关闭的
ace62 2011-04-15
  • 打赏
  • 举报
回复
自己写代码求出交集部分(的顶点坐标),
1、去除交集以外的部分,或者
2、去除两多边形,再重绘交集部分

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧