散分了,大家进来抢分了! (200分)

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

阿潘

Unregistered / Unconfirmed
GUEST, unregistred user!
如何从truetype字库中查找到字符的矢量信息(轮廓?和内部填充的直线信息) ,例如“A”,然后利用画图(直线)的办法将其显示在画布(Canvas)上呢?<br>凡是提供有用信息和例子的大哥,一定给分。<br><br>小弟以前没有作过此类处理字体的工作,希望大家多多支持,积极提供一些有用的信息,文章、源码、书籍都可,分数不够可以再加,精神奖励不够物质刺激(限制在麦当劳、肯德鸡之流),先行拜谢各位老大了!! &nbsp;
 
画字体轮廓的问题已经通过API 函数 GetGlyphOutline 解决,现在的麻烦是如何在轮廓中填充,希望大家可以提供一些好的图形填充算法,谢谢了!
 
其实我需要的不规则多边形(含有BEZIER曲线)的填充算法,多边形的轮廓信息(直线段,BEZIER曲线)已知,怎样实现高效的填充,比较笨、效率低的方法我也可以实现,但是还是希望大家可以提供一些通过验证的目前较先进的算法。谢谢了!
 
能否提供 FillRgn 函数的实现细节,即这个函数填充多边形的原理、过程?
 
也许是我太贪心了吧,算了,散分了,进来拿分吧!
 
// 区域填充<br>BOOL FillRgn(<br>&nbsp; &nbsp; HDC hdc, // handle to device context <br>&nbsp; &nbsp; HRGN hrgn, // handle to region to be filled <br>&nbsp; &nbsp; HBRUSH hbr // handle to brush used to fill the region &nbsp;<br>&nbsp; &nbsp;); <br>// 建立多边形区域<br>HRGN CreatePolygonRgn(<br>&nbsp; &nbsp; CONST POINT *lppt, // pointer to array of points <br>&nbsp; &nbsp; int cPoints, // number of points in array <br>&nbsp; &nbsp; int fnPolyFillMode // polygon-filling mode <br>&nbsp; &nbsp;);<br>// 画刷<br>HBRUSH CreateBrushIndirect(<br>&nbsp; &nbsp; CONST LOGBRUSH *lplb // pointer to structure describing brush <br>&nbsp; &nbsp;); <br>typedef struct tagLOGBRUSH { // lb &nbsp;<br>&nbsp; &nbsp;UINT &nbsp; &nbsp; lbStyle; <br>&nbsp; &nbsp;COLORREF lbColor; <br>&nbsp; &nbsp;LONG &nbsp; &nbsp; lbHatch; <br>} LOGBRUSH; <br>
 
强分,好人呀<br>
 
你自己都解决了。。。
 
没明白,上面的问题你自己都解决了
 
没明白<br>
 
同意 apw 的说的!
 
不规则轮廓的直线扫描线填充早就搞定了,可惜轮廓填充和螺旋线填充遇到了最后一点问题,摆不平,只好算了,这年头,求人不如求己啊!<br>今天晚上就结贴!
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部