当前课程知识点:VC++面向对象与可视化程序设计(下):MFC编程基础 >  第8章 在MFC中创建应用程序的资源 >  8-7 位图资源的创建及其使用 >  8-7

返回《VC++面向对象与可视化程序设计(下):MFC编程基础》慕课在线视频课程列表

8-7在线视频

8-7

下一节:html

返回《VC++面向对象与可视化程序设计(下):MFC编程基础》慕课在线视频列表

8-7课程教案、知识点、字幕

下面再给大家介绍一个资源

就是位图资源的创建及其使用

大家知道标准控件比较单调

如果能够通过一些精美的图片来点缀那就活泼了

这个问题可以选择位图资源来实现

位图是一种数字化的图形表示形式

基本数据结构是像素

一个像素表示一个离散点的像素值

常见的位图256色、16位的、24位的等等

其中VC6的资源编辑器支持256色以下,包括256色

这是早前版本的

而最新的VC版本已经能够支持24位真彩位图的编辑了

保存在文件的中的位图可以看作是设备无关的

文件本身的数据是用来描述位图的内容

下面我们再通过一个例子

在原来的基础上显示两幅图片

一幅是256色的,另一幅是24位真彩的

两幅图片都通过资源来显示

从运行的效果大家可以看到

右边这幅图清晰度比左边这幅要清晰得多

这是一幅坦克

从坦克的外形、颜色、颗粒度

都可以看出来

右边的像素一定是比左边高的

那么我们看怎么做这个问题

首先我们在位图资源里面添加资源

添加什么资源呢 位图资源

那么由于两张图已经都具备了

所以就直接导入

先导入一个256色的图 打开

这时候大家看到这里有一个BITMAP

叫BITMAP1

这个时候把BITMAP定义为IDB_BITMAP_256

因为这是256色的

所以在属性里面把ID改成IDB_BITMAP_256

然后再加入一个位图 24位的位图

这里出现了BMP2

ID给它设成IDB_BITMAP_24bit

然后ID也改一下

这样就加载了位图资源

在位图资源的基础上增加了两张位图

或者说加载了两张位图

大家知道原来的资源文件里面

缺省的里面并没有位图资源

由于程序一运行,位图就显示出来了

或者说画出来了

所以我们在OnDraw函数里面添加相应的代码

我们仍然在这里写一个注释

显示 Show Bitmap

我们为了显示位图增加了如下代码

大家看这里创建的内存的DC

所以是CDC类的对象dcMemory

创建内存的缓冲DC

然后在内存缓冲里面创建了一个pDC

这个pDC大家看

就是OnDraw里面CDC类的一个对象指针

好了,这时候用来指向位图

我们定义了一个Cbitmap的一个对象bmp1

通过bmp1的对象加载 它的成员LoadBitmap

加载哪一个呢 加载第一幅图

我们定义了一个BITMAP位图的info

这样的话,我们bmp1获取位图

然后把获取位图的尺寸的信息放到bmpInfo1里面

这个位图数据结构中

然后我们从dc内存里面通过SelectObject

我们把bmp1位图的对象选到位图内存缓冲区中

然后通过BitBlt

在200 10这个坐标 左上角

就是在位图显示的那个左上角的位置

按它的宽度和高度

因为我们已经在这里面获取了位图的宽度和高度

同时填写了BITMAP的数据结构

所以就获取了位图的宽度和高度

然后从dc内存里面将位图拷贝到屏幕上

这是我们显示256色的位图

同理,我们用同样方法通过加载第二个位图

就是24位的位图

在400 10的地方

将位图拷贝到屏幕上

在dc里面恢复了设备中原来的位图

实际上可以不恢复也没什么问题

这样我们执行以下这个应用程序

好了大家看

两个图就显示出来了

那么关于位图资源的问题就介绍到这里

VC++面向对象与可视化程序设计(下):MFC编程基础课程列表:

第0章 课前讨论

-讨论实录

--0-0

第6章 MFC基础知识

-6-1 MFC概述

--6-1 MFC基础知识

-6-2 C++的基本知识

--6-2-1 类

--6-2-2 对象

--6-2-3 类的方法

--6-2-4 内联函数

--6-2-5 构造函数和析构函数

--6-2-6 重载

--6-2-7 友元函数

--6-2-8 友元类

--6-2-9 指针

--6-2-10 类的继承

--6-2-11 多态性和虚拟函数

-6-3 MFC类的组织结构及主要的类的简介

--6-3-1 MFC类的组织结构

--6-3-2 根类

--6-3-3 应用程序结构类

--6-3-4 可视对象类

--6-3-5 通用类

--6-3-6 OLE类

--6-3-7 ODBC数据库

-6-4 MFC中全局函数和全局变量

--6-4 MFC中全局函数和全局变量

第7章 Windows标准控件在可视化编程中的应用

-7-1 概述

--7-1-1

--7-1-2

-7-2 按钮控件及其应用

--128B12447816EEF99C33DC5901307461

-7-3 按钮控件及其应用

--7-3

-7-4 静态控件

--7-4

-7-5 列表框控件

--7-5-1

--7-5-2

-7-6 编辑框控件

--7-6

-7-7 组合框控件

--7-7

-7-8 对话框通用控件

--7-8-1

--7-8-2

-讲义源代码

--html

第8章 在MFC中创建应用程序的资源

-8-1&2 资源的应用以及菜单资源的使用

--8-1-1

--8-1-2

-8-3 快捷菜单的创建及其应用

--8-3

-8-4 加速键资源的创建及其使用

--8-4

-8-5 工具条资源的创建及其使用

--8-5

-8-6 字符串资源的使用

--8-6

-8-7 位图资源的创建及其使用

--8-7

-课堂示例源代码

--html

-第一次作业内容及要求

--html

--第一次作业及答题链接--作业

第9章 单文档与多文档

-9-1 概述

--9-1

-9-2 Doc/View框架的主要成员

--Video

-9-3 文档操作中的一些重要概念

--Video

-9-4 SDI编程实例

--Video

-9-5 MDI编程实例

--9-5-1

--9-5-2

-课堂示例源代码

--html

-第二次作业内容及要求

--html

--第二次作业及答题链接--作业

第10章 多媒体应用程序的设计

-10-1 利用音频函数实现多媒体程序设计

--10-1-1

--10-1-2

--10-1-3

--10-1-4

-10-2 利用Windows Media Player控件实现多媒体程序设计

--10-2

-课堂示例源代码

--html

第11章

-例11-1

--例1

-例11-2

--例11-2

-例11-3

--例11-3

-例11-4

--例11-4

-11-1 ODBC介绍与引用

--11-1

-课堂示例源代码

--html

第三次作业及答题链接

-第三次作业及答题链接

8-7笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。