码迷,mamicode.com
首页 > 编程语言 > 详细

vc++图像保存,重绘

时间:2018-11-27 17:13:08      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:变量赋值   地址   img   函数   大括号   图片   变量   init   信号   

 

新建mfc应用程序,单文档

增加绘图

技术分享图片

分别增加命令响应

添加成员变量UINIT

技术分享图片

技术分享图片

 

图形可以运行,如何保存呢?(一个集合类,CPtArt)

技术分享图片

 用一个类的对象来保存一个图形的三个要素

所以插入一个新的类(通常的类)

技术分享图片

增加三个成员变量,第一个类型,设置为公有的

技术分享图片

也可以在函数中直接写,添加起点,终点

技术分享图片

让用户在构造的时候直接传递进来给这三个成员变量赋值

技术分享图片

 

 然后在原文件当中,对成员变量进行赋值

技术分享图片

(这样构造一个类的对象来保存一个图形的三个要素)

要想增加一个指针用add,要想取出原数用GetAt

CObArray

可以利用CPtrArray存储一个对象的地址

首先构造一个graph对象,在添加一个成员变量

技术分享图片

用集合类的对象调用add方法保存

技术分享图片

 

 将集合类元素中的取出来

首先创建一个画刷(将onbuttonup中的这一句复制到ondraw中)

技术分享图片

技术分享图片

将透明的画刷选到设备描述表中

技术分享图片

做一个for循环将集合类当中的取出来(做一个switch语句根据所保存的绘画类型去绘制图形)

技术分享图片

虽然说保存了对象的地址,但是对象graph出了大括号就已经析构了

 

技术分享图片

首先在view类中,1 构造了一个集合类的对象;

2构造了一个graph对象,是在onlbuttonup函数中构造的,是一个局部对象

在栈中分配空间

3。第三步,当调用集合类中add方法,graph对象他所在内存的地址,当执行之后会析构掉,生命周期结束

技术分享图片

 

 如何解决这个问题,用一个指针类型的变量,是用堆的保存,当被析构的时候,内容已经被传递了

技术分享图片

定义指针类的对象,调用add方法

技术分享图片

 

 当窗口位置发生变化的时候,图像位置不变

技术分享图片

 

当窗口重绘的时候,会调用ondraw函数(虚函数)

 增加onpaint

技术分享图片

如何使窗口具有滚动能力

本程序已经有cview

找编辑菜单下的替换

技术分享图片

技术分享图片

我们设定的页面空间或者说逻辑空间的坐标点如何转换为设备空间的坐标点

四种坐标空间:世界坐标系空间,页面空间,设备空间,物理设备空间

技术分享图片

第七章数字信号处理仿真318-7.8/317-7.2

vc++图像保存,重绘

标签:变量赋值   地址   img   函数   大括号   图片   变量   init   信号   

原文地址:https://www.cnblogs.com/fanglijiao/p/10026370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!