图形学教案讲课笔记

图形学教案讲课笔记

ID:16408621

大小:32.00 KB

页数:4页

时间:2018-08-09

图形学教案讲课笔记_第1页
图形学教案讲课笔记_第2页
图形学教案讲课笔记_第3页
图形学教案讲课笔记_第4页
资源描述:

《图形学教案讲课笔记》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、讲课笔记Vc++6.0直接绘图介绍(OnDraw)uSetPisel语句介绍:SetPixel函数用于绘制一个点,其函数声明如下:COLORREFSetPixel(intx,inty,COLORREFcrColor);COLORREFSetPixel(POINTpoint,COLORREFcrColor);GetPixel(intx,inty,COLORREFcrColor);COLORREFGetPixel(POINTpoint);例子:voidCDrawTestView::OnDraw(CDC*pDC){CD

2、rawTestDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);//TODO:adddrawcodefornativedataherefor(inti=0;i<255;i=i+5){//绘制一系列红颜色程度不同的点pDC->SetPixel(i+10,100,RGB(i,0,0));}for(intj=0;j<255;j=j+5){//用与要绘制的点对应的点的颜色来绘制pDC->SetPixel(j+10,200,pDC->GetPixel(j+10,100));}}函数中三种有

3、获得设备环境对象的方法都使用了,在实际应用中,使用其中一种即可。voidCDrawTestView::Draw(CDC*pDC){pDC->LineTo(200,100);//使用传入的CDC对象指针绘图CClientDCdc(this);//构造CClientDC设备环境对象dc.LineTo(200,200);//利用构造的CClientDC设备环境对象绘图CDC*p=this->GetDC();//通过GetDC函数获得设备环境对象指针p->LineTo(100,200);//利用GetDC函数获得设备环境

4、对象指针绘图this->ReleaseDC(p);//由GetDC函数获得的设备环境对象必须用ReleaseDC函数释放}DDA直线绘制方法:CDC*Pdc=GetDC();//获得设备指针ReleaseDC(pDC);//释放设备指针菜单设置:在资源编辑的MENU下双击IDR_MAINFRAME,制作菜单,在菜单上按右键,选CLASSWIZARD,选command后,双击下面的选项,进入编码设计。(见caidan)voidCMainFrame::OnDrawDda(){//TODO:Addyourcommand

5、handlercodehereCDC*pDC=GetDC();//获得设备指针intx1=100,y1=300,x2=300,y2=400;floatx,y;floatdx,dy,e;dx=(float)(x2-x1),dy=(float)(y2-y1);e=dy/dx,y=y1;if(abs(e)<1){for(floatx=x1;x<=x2;x++){pDC->SetPixel(x,int(y+0.5),RGB(255,0,0));y=y+e;}}if(abs(e)>=1){for(y=y1;y<=y2;y+

6、+){pDC->SetPixel(int(x+0.5),y,RGB(255,0,0));x=x+1/e;}}ReleaseDC(pDC);//释放设备指针}CDC*pDC=GetDC();//获得设备指针doublex1=100,y1=200,x2=200,y2=300;floatx,y;floatdx,dy,e;dx=x2-x1;dy=y2-y1;e=(abs(dx)>abs(dy))?abs(dx):abs(dy);dx/=e;dy/=e;x=x1;y=y1;for(inti=1;i<=e;i++){pDC-

7、>SetPixel((int)(x+0.5),(int)(y+0.5),RGB(255,0,0));x+=dx;y+=dy;}另书中实现方法:/*floatx,y;floatdx,dy,e;dx=(float)(x2-x1),dy=(float)(y2-y1);e=dy/dx,y=y1;if(abs(e)<1){for(floatx=x1;x<=x2;x++){pDC->SetPixel(x,int(y+0.5),RGB(255,0,0));y=y+e;}}if(abs(e)>=1){for(y=y1;y<=y2

8、;y++){pDC->SetPixel(int(x+0.5),y,RGB(255,0,0));x=x+1/e;}}*/ReleaseDC(pDC);//释放设备指针

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。