有关GeneralPath的问题

youlanse 2010-03-31 06:19:13
在得到一个图形的GeneralPath后 怎么知道它是个什么样的图形
有的object是矩形 有的是椭圆
怎么区分
我要用的到得paths(点集合)在C#里面画出来,椭圆什么的就化成多边形了
怎么区分这些
这个是一个椭圆的
path "M160.0 196.0C160.0 236.46753 128.71466 269.27307 90.122314 269.27307C51.529907 269.27307 20.244629 236.46753 20.244629 196.0C20.244629 155.53241 51.529907 122.72693 90.122314 122.72693C128.71466 122.72693 160.0 155.53241 160.0 196.0z"

这个是一条直线的
path "M447.04785 630.5L447.04785 623.0"


Shape ss = object.getShape();//ss就是GeneralPath类型的
PathIterator path = ss.getPathIterator(null);
float[] data = new float[6];
String paths="";


while(!path.isDone())
{
switch(path.currentSegment(data))
{
case PathIterator.SEG_MOVETO:
paths+=String.valueOf(data[0])+","+String.valueOf(data[1])+" ";
break;
case PathIterator.SEG_LINETO:
paths+=String.valueOf(data[0])+","+String.valueOf(data[1])+" ";
break;
case PathIterator.SEG_QUADTO:
paths+=String.valueOf(data[0])+","+String.valueOf(data[1])+" "+String.valueOf(data[2])+","+String.valueOf(data[3])+" ";
break;
case PathIterator.SEG_CUBICTO:
paths+=String.valueOf(data[0])+","+String.valueOf(data[1])+" "+String.valueOf(data[2])+","+String.valueOf(data[3])+" "+String.valueOf(data[4])+","+String.valueOf(data[5])+" ";
break;
case PathIterator.SEG_CLOSE:
//cyclic = true;
paths+=String.valueOf(data[0])+","+String.valueOf(data[1])+" ";
break;
}
path.next();
}
...全文
232 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
youlanse 2010-04-02
  • 打赏
  • 举报
回复
灌水的都没有?
youlanse 2010-04-01
  • 打赏
  • 举报
回复
自己顶上去!

62,621

社区成员

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

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