//坐标系统与影射模式
 
 通过自定义映射模式 ,将客户窗口映射为 一个平面直角坐标系,即原点在客户区中心,
 原点向左为 x轴负方向,原点向上为y轴正方向。在客户窗口绘制一条正弦曲线,幅度为客户区高度的一半,
 显示 4个周期
 //设置映射模式为 MM_ANISOTROPIC
 pDC->SetMapMode(MM_ANISOTROPIC);

//设置窗口左上角坐标(-4*pi,2),放大1000倍,下同
 pDC->SetWindowOrg(int(-4000*3.14), 2000);
 //设置窗口度量--总大小
 pDC->SetWindowExt(int (8000*3.14), -4000);
 //获得客户区矩形
 CRect rc;
 GetClientRect(rc);
 //设置视口左上角坐标
 pDC->SetViewportOrg(0, 0);
 //设置视口度量
 pDC->SetViewportExt(rc.Width(), rc.Height());
 //创建蓝色实线画画笔
 CPen pen(PS_SOLID, 1, RGB(0, 0, 255)), pen1(PS_DASH, 1, RGB(128, 0, 0)),*pOldPen;
 pOldPen = pDC->SelectObject(&pen);
 pDC->MoveTo(int(-4000*3.14), 0);
 for(double x = (-4*3.14); x <=0; x += 0.01)
 {
  pDC->LineTo(int (1000*x),int(1000*sin(x)));
 }
 for(x = 0; x <= 4*3.14; x += 0.01)
 {
  pDC->LineTo(int (1000*x), int (1000*sin(x)));
 }

pDC->SelectObject(&pen1);
 pDC->MoveTo(int(-4000*3.14), 0);
 pDC->LineTo(int (4000*3.14), 0);
 pDC->MoveTo(0, -2000);
 pDC->LineTo(0, 2000);
 //恢复设备上下文原有画笔
 pDC->SelectObject(pOldPen);
 pen.DeleteObject();
 pen1.DeleteObject();

vc 坐标系统与影射模式相关推荐

  1. Windows影射模式

    Windows默认的是MM_TEXT图形影射模式.当打印机与屏幕每页容纳相素数目不同时,如果在MM_TEXT模式下处理图形就会出现问题. 映射模式中又可分成以下3类: 1. MM_TEXT映射模式这种 ...

  2. android imageview stretchblt,VC 下 StretchBlt 的模式及失真问题

    VC 下 StretchBlt 的模式及失真问题 用一个CCD的相机,采集图像,然后在对话框的图片控件中显示. 现象:原本应该是黑白相机的灰度图像,显示出来的却是花花绿绿的彩色图像. 开始的时候 怀疑 ...

  3. 复盘苏宁收购红孩子案例——思考VC与垂直电商的未来

    2012年9月25日,苏宁易购以6600万美元的价格全资收购母婴B2C平台红孩子,使之前的传闻成为现实,成为近期最为令人震动的电商并购案.复盘苏宁收购红孩子案例,从VC与垂直电商的关系角度思考未来电商 ...

  4. CAD制图, 机械CAD, 建筑CAD, 电力CAD, CAD设计, 数控与CAM, DXF导入\导出, 打印, 软件开发, VC++源代码,OCX 控件源程序2018

    CAD制图, 机械CAD, 建筑CAD, 电力CAD, CAD设计, 数控与CAM, DXF导入\导出, 打印, 软件开发,VC++源代码,OCX 控件源程序2018 -- 100%源码开放企业级CA ...

  5. CAD制图,机械CAD,建筑CAD,电力CAD,CAD设计, CAD标注, 打印, 软件开发 ,VC++源代码,VB 控件源程序...

    CAD制图,机械CAD,建筑CAD,电力CAD,CAD设计, CAD标注, 打印, 软件开发 ,VC++源代码,VB 控件源程序 E-Form++可视化组件库集成最新最尖端的图形处理技术,全部采用VC ...

  6. MVC模式与三层架构的区别

    MVC模式与三层架构的区别 原文地址:http://www.cnblogs.com/yourshj/p/5197310.html 之前总是混淆MVC表现模式和三层架构模式,为此记录下. 三层架构和MV ...

  7. VMProtect 与 ASProtect 在VC中的SDK编程

    最近想用VMProtect和ASProtect 的SDK加密一个程序,结果搞了半天没搞成,网上没看到在VC中如何使用VMProtect的SDK加密,于是琢磨了一下,总算成功了,最后有一点点心得,与大家 ...

  8. 备忘:VC++ 中的异常处理

    当程序遇到一个异常或一个严重的错误时,通常意味着它不能继续正常运行并且需要停止执行.任何的设计都离不开对异常与错误的处理.如果设计者不主动规避程序异常,往往在程序发生异常时,会被系统终止而直接退出.这 ...

  9. vc++图形编程基础

    1.2.2构造和析构CDC对象 void CMyView::MyFunction() {....... CRect rect; CClientDC dc(this); dc.GetClipBox(re ...

最新文章

  1. 【Interfacenavigation】通知概述(36)
  2. 生物工程学报-微生物组测序与分析专刊-邀请函
  3. 网传的 Spring 大漏洞
  4. 维纳滤波原理(Wiener Filter)
  5. 基于JSON的高级AJAX开发技术
  6. Hadoop MapReduce手机上网流量统计代码示例及运行结果演示
  7. select 选择器php,php – 选择laravel 5.4中下拉列表的选定值
  8. Visual Basic、C# 和 C++ 的数据类型比较(转)
  9. 水表读数自动识别,基于DB和CRNN的方法
  10. SQL Server 2012安装配置(Part2 )
  11. 男人是房子,女人是车子
  12. 异常已存在具有相同键的条目。_灵敏度高,却已停产——山进PR-D3Plus DX收音机评测...
  13. Python基础篇1
  14. kubernetes Pod yaml解析注释
  15. redhat 生产环境版本选择
  16. 百度地图API学习之路(1)
  17. 清理linux系统内存缓存
  18. 3.4 Postman调用手顺(Netsuite相关)
  19. 画论21 刘道醇《五代名画补遗》
  20. 信息论 | Shannon编码MATLAB实现

热门文章

  1. 我的文章让老婆看到了……
  2. ESP32 单片机学习笔记 - 08 - WebSocket客户端
  3. doraemon的python 格式化排版
  4. 安卓以太网共享4G网络方法
  5. IT行业人才招聘观察
  6. shell脚本以服务形式被调用失败,返回127
  7. 竹炭纤维集成墙面板装修的缺点是什么,有哪些弊端
  8. 2014.10.17 苹果新品发布会(iPad为主)
  9. 数组排列组合问题——BACKTRACKING
  10. 爬虫工程师想拿更高薪,这点不要忽略