求不规则多边形的填充问题(200分)

  • 主题发起人 主题发起人 阿潘
  • 开始时间 开始时间

阿潘

Unregistered / Unconfirmed
GUEST, unregistred user!
我通过 GetGlyphOutline 从字库中取得了指定字符的多边形轮廓信息(BEZIER曲线),转换成两个数组,一个存放端点POINT,一个存放端点的标志(PT_MOVETO,PT_LINETO,PT_BEZIERTO等),我需要根据得到的上述数组画出多边形(已实现),现在的问题是如何用直线段将此多边形填充,希望老大们多多指教。注意我需要的是具体的算法,不是某个API函数的用法,因为我需要一条线一条线的画出来,例程或思路或文章、书籍都可,谢谢大家。另外,你可以到 http://www.delphibbs.com/delphibbs/dispq.asp?lid=2048602 或 http://www.delphibbs.com/delphibbs/dispq.asp?lid=2048613 或 帮我UP一下,好多分呢
 
关注!呵呵,没有时间帮你查书了,
 
不是有API吗?

FillRgn函数,需要一个区域

API里同时也有区域定义,区域运算(加,减,交叉)的函数
 
我 需要的是具体填充的算法,以便在外设上实现绘制。
 
FRgn:=CreatePolygonRgn(Fpoints[0],num,ALTERNATE);//num点是数目
FillRgn(Canvas.Handle,Frgn,Canvas.Brush.Handle);
 
能否提供 FillRgn 函数的实现细节,即这个函数填充多边形的原理、过程?
 
我又想dos 下的pascal了,可是本人真是很懒呀
 
清华<计算机图形学> 中介绍了填充算法
 
我的问题已经解决,就是抛弃一切幻想,采用扫描线算法,对所有边进行扫描,求出交点,然后再处理一番,最后得到所有的填充数据。哎,靠天靠地不如靠自己啊!
 
多人接受答案了。
 

Similar threads

回复
0
查看
887
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
610
import
I
后退
顶部