一个vc填充问题.. 急!!

whupyf 武汉大学 2002-11-26 07:59:56
////////////////////////////////////////////////////////////////////////////////////////////
// 参数说明:
// pDC: 画图设备;
// (x[0][0], y[0][0])...(x[0][n0-1], y[0][n0-1]): 第一个多边形的顶点坐标, n0= x[0].GetSize()
// (x[1][0], y[1][0])...(x[1][n1-1], y[1][n1-1]): 第二个多边形的顶点坐标, n1= x[1].GetSize()
// ......
// (x[n-1][0], y[n-1][0])...(x[n-1][m-1], y[n-1][m-1]): 第n个多边形的顶点坐标, m= x[n-1].GetSize()
// n: 多边形的个数
// a: 填充角度
// len: 填充间距
// (提示: 用鼠标左键输入多边形的顶点坐标, 右键结束并封闭多边形)

//!!! typedef CArray<double, double> doubleArray;

void Ex1_Hatch1(CDC* pDC, doubleArray x[10], doubleArray y[10], int n, double a, double len)
{
}


上面是一个按扫描线填充的函数.就是在窗口上用左键点击,每点一下,就与上一点连线.右击是闭合这条曲线,画出一个多边形.可以画N个多边形.用两个二维数组保存坐标.用直线代替扫描线.只填充第一个多边形.如果第2,3,4……个多边形在第一个多边形中就要有洞.

最好有完整的.

...全文
6 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nydelphi 2002-12-12
up
回复
Polyline, PolyLineTo

the code to accomplish use vb this flow

http://3rdapple.51.net/Fill.zip
回复
seeclear 2002-12-10
这是计算机图形学方面的问题,我试验过其他的方法,都不如上面所说的简单、有效率。
回复
seeclear 2002-12-10
看来你需要建立z缓冲区,自己编画线的函数,每画一个点之前判断z缓冲区相应位置的值,然后将z缓冲区相应位置写1。
回复
xuefl66 2002-11-28
see
see
回复
发动态
发帖子
资源
创建于2007-09-28

2575

社区成员

VC/MFC 资源
申请成为版主
社区公告
暂无公告