MFC GDI绘图
DC——MFC设备描述表类(也叫设备环境、设备上下文)。
默认起始点(0,0),带To的函数会移动起始点到指定位置。
新建单个文档的MFC应用程序,类视图——View项的属性——消息,WM_PAINT,创建OnPaint()函数

void CMFCApplication10View::OnPaint()
{
CPaintDC dc(this); // CPaintDC是OnPaint()里专用的,其他函数里用CClientDC /*画直线,客户区域*/
CRect rect; //矩形区域对象
GetClientRect(rect); //获得客户区域,赋值给rect
dc.MoveTo(rect.right, rect.top); //从指定点开始
dc.LineTo(rect.left, rect.bottom); /*指定矩形区域内画图*/
CRect rect1(, , , );
dc.Rectangle(rect1); //画矩形
dc.Ellipse(rect1); //画椭圆 /*椭圆圆弧,截取椭圆的一部分*/
CRect rect2(, , , );
CPoint point1(, );
CPoint point2(, );
dc.Arc(rect2, point1, point2);//p1、p2与圆心的连线,来截取椭圆弧 /*折线*/
//dc.MoveTo(50, 50); //起始点
//POINT point[3] = { 100, 80, 150, 50, 200, 80 }; //3个点
//dc.PolylineTo(point, 3); //从起始点依次连线,共4个点
POINT point[] = {,,, , , , , }; //4个点,与上三行等效
dc.Polyline(point, ); /*曲线*/
dc.PolyBezier(point, );
}
CRect rect3(, , , );
CPoint p3(, );
CPoint p4(, );
dc.Pie(rect3, p3, p4);//饼形图,过圆心
//dc.Chord(rect3, p3, p4); //弦+圆弧
//dc.Arc(rect3, p3, p4); //圆弧
MFC GDI绘图的更多相关文章
- MFC GDI绘图基础
一.关于GDI的基本概念 什么是GDI? Windows绘图的实质就是利用Windows提供的图形设备接口GDI(Graphics Device Interface)将图形绘制在显示器上. 在Wind ...
- C#-gdi绘图,双缓冲绘图,Paint事件的触发
一. 画面闪烁问题与双缓冲技术 1.1 导致画面闪烁的关键原因分析: 1 绘制窗口由于大小位置状态改变进行重绘操作时 绘图窗口内容或大小每改变一次,都要调用Paint事件进行重绘操作,该操作会使画面 ...
- GDI+ 绘图闪烁解决方法
闲着没事,准备做一个类似于TeeChart的自定义控件,结果第一步的绘图就把我给难倒了,虽然早就知道GDI绘图的闪烁问题很坑,但是却没有想到如此之坑,折腾了两天,才找到解决方法. 首先在窗体加载的时候 ...
- VS2013中使用GDI+绘图
VC范例,400多个例子源代码下载 http://download.csdn.net/detail/bigtree_mfc/7727977 VS2013中使用GDI+绘图和VC6.0不同,在VC6.0 ...
- Gdi绘图
在使用VC开发项目过程中,界面是项目中的一个子模块.虽然界面并不那么重要,把握住核心功能就可以了,但界面美观与否直接关系到用户的体验, 因此我们也应该关注界面的处理. 我们可以在OnEraseBkgn ...
- GDI+(一):GDI+ 绘图基础
一.GDI+绘图基础 编写图形程序时需要使用GDI(Graphics Device Interface,图形设备接口),从程序设计的角度看,GDI包括两部分:一部分是GDI对象,另一部分是GDI函数. ...
- Windows GDI绘图基础知识
一.Windows可以画直线.椭圆线(椭圆圆周上的曲线)和贝塞尔曲线.////////////7 个画线函式是:(1)画直线LineTo BOOL LineTo(HDC hdc,int nXEn ...
- GDI绘图中的映射模式CDC::SetMapMode()
原文链接:http://blog.csdn.net/charlessimonyi/article/details/8264572 在GDI绘图前,一般要设置映射模式.映射模式是什么呢?它是逻辑长度单位 ...
- GDI+绘图基础
GDI+ 指的是.NET Framwork中提供的二维图像.图像处理等功能,是构成Windows操作系统的一个子系统,它提供了图形图像操作的应用程序编程接口(API). 使用GDI+可以用相同的方式在 ...
随机推荐
- 前端vue组件传参
## 路由传参 """ 转跳: <router-link :to="'/course/'+course.id">{{course.name ...
- Date及DateFormat用法
Date 与DateFormat之间的转化String <————>Date Date与Calendar 之间的转化Long<————>Date 日历小程序 Scanner i ...
- ide的debug
webstom 新建立一个配置项 找到webpack.config.js,最后一行加上 devtool: "source-map" 然后点击debug
- Python文件操作——读写图片,音频,视频
注意:其实就是将mode="rb"或者mode="wb",因为图片,视频,音频就是二进制进行读取,b 代表binary ,其他的和一般文件操作步骤一样,另外, ...
- 记录RabbitMQ
第一步:建立Erlang环境 >>https://www.erlang.org/downloads 下载并安装.一路Next即可. 默认安装目录: C:\Program Files\erl ...
- python selenium4 模拟点击+拖动+保存验证码 测试对象+以验证码的返回ID保存命名 58同城验证码
#!/usr/bin/python # -*- coding: UTF-8 -*- # @Time : 2019/12/5 17:30 # @Author : shenghao/10347899@qq ...
- ffmpeg源码分析之媒体打开过程
int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputForma ...
- for in和for of的区别
for in:一般用于遍历普通对象(即没有部署Iterator接口),遍历的是属性. for of:ES6新增的遍历方式,能遍历大部分的类型,遍历的是值.for...of 允许你遍历 Arrays(数 ...
- vue 导航守卫
1.全局守卫(在所有路由展示前触发)//在main.js中 router.beforeEach((to, from, next) => { to 即将要进入的到的路由,值为路由 ...
- mORMot学习笔记 (一)
官方网站:https://synopse.info/fossil/wiki/Synopse+OpenSource 下载地址:https://synopse.info/fossil/wiki?name= ...