C++(MFC)金刚石图案的绘制平移缩放.docx

上传人:ni****g 文档编号:561987440 上传时间:2023-08-20 格式:DOCX 页数:5 大小:681.56KB
返回 下载 相关 举报
C++(MFC)金刚石图案的绘制平移缩放.docx_第1页
第1页 / 共5页
C++(MFC)金刚石图案的绘制平移缩放.docx_第2页
第2页 / 共5页
C++(MFC)金刚石图案的绘制平移缩放.docx_第3页
第3页 / 共5页
C++(MFC)金刚石图案的绘制平移缩放.docx_第4页
第4页 / 共5页
C++(MFC)金刚石图案的绘制平移缩放.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《C++(MFC)金刚石图案的绘制平移缩放.docx》由会员分享,可在线阅读,更多相关《C++(MFC)金刚石图案的绘制平移缩放.docx(5页珍藏版)》请在金锄头文库上搜索。

1、实验二实验目的:绘制金刚石图案,并利用鼠标交互实现平移、放大和缩小实验过程:设置映射模式为MM_ISOTROPIC,通过在MouseDown、MouseUp及MouseMove消息处理中改变逻辑坐标的原点及范围实现图形的平移及放大和缩小实验主要算法: CAaaaaView:CAaaaaView()/构造函数/ TOD: add construction code hereXw=1000;Yw=1000;x0=y0=0;void CAaaaaView:OnDraw(CDC* pDC)CAaaaaDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO

2、: add draw code for native data heredraw(pCurrentDC);/ CAaaaaView printingvoid CAaaaaView:draw(CDC *pDC)CRect Rect;/GetClientRect(& Rect);/pDC-SetMapMode(MM_ISOTROPIC);/设置映射模式/pDC-SetWindowExt(Xw,Yw);/pDC-SetWindowOrg(x0,y0);pDC-SetViewportExt(Rect.right,-Rect.bottom);/pDC-SetViewportOrg(Rect.right/

3、2,Rect.bottom/2);/CBrush d(RGB(0,255,0);/设置填充颜色/pDC-SelectObject(d);/pDC-Ellipse(-200,200,200,-200);int a302;/x坐标为ai0;y坐标为ai1;int r=200; double c=3.141592653; for(int i=0;i=29;i+)ai0=r* cos(2*c/30*i);ai1=r* sin(2*c/30*i);/ofstream d(checkpoint.txt,ios:trunc);/写入记事本,检验是否正确创建各个点/for(int l=0;l30;l+)/da

4、l0 al1endl;/d.close();for(int j=0;j30;j+)for(int k=0;kMoveTo(aj0,aj1);pDC-LineTo(ak0,ak1);void CAaaaaView:OnLButtonDown(UINT nFlags, CPoint point) /缩放下左击放大,平移下平移/ TODO: Add your message handler code here and/or call defaultif(a)Xw=Xw/2;Yw=Yw/2;CPoint p=point;pCurrentDC-DPtoLP(&p);x0=Xw/4+p.x;y0=Yw/4

5、+p.y;elseCPoint b=point;pCurrentDC-DPtoLP(&b);x0=x0-b.x;y0=y0-b.y;Invalidate();CView:OnLButtonDown(nFlags, point);int CAaaaaView:OnCreate(LPCREATESTRUCT lpCreateStruct) if (CView:OnCreate(lpCreateStruct) = -1)return -1;/ TODO: Add your specialized creation code herepCurrentDC= new CClientDC(this);re

6、turn 0;void CAaaaaView:OnRButtonDown(UINT nFlags, CPoint point) /缩放下的右击缩小/ TODO: Add your message handler code here and/or call defaultif(a)Xw=Xw*2;Yw=Yw*2;CPoint p=point;pCurrentDC-DPtoLP(&p);x0=p.x+Xw/4;y0=p.y+Yw/4;Invalidate();CView:OnRButtonDown(nFlags, point);void CAaaaaView:On1() /缩放菜单/ TODO: Add your command handler code herea=true;void CAaaaaView:On2() /平移菜单/ TODO: Add your command handler code herea=false;实验体会: 本次实验让我懂得如何去平移一个物体,也让我懂得如何缩放物体。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号