一个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……个多边形在第一个多边形中就要有洞.

最好有完整的.

...全文
27 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nydelphi 2002-12-12
  • 打赏
  • 举报
回复
up
用户 昵称 2002-12-10
  • 打赏
  • 举报
回复
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

2,586

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 资源
社区管理员
  • 资源
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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