设为首页 加入收藏

TOP

(Visual C++)游戏开发笔记十四:游戏画面绘图(四)华丽的CImage类 (二)
2014-11-23 20:17:23 来源: 作者: 【 】 浏览:154
Tags:Visual 游戏 开发 笔记 十四 游戏画面 绘图 华丽 CImage

int xSrc, //源矩形的左上角X坐标
int ySrc, //源矩形的左上角Y坐标
int nSrcWidth, //源矩形的宽度
int nSrcHeight //源矩形的高度
) const throw( );


BOOL Draw(
HDC hDestDC, //目标环境DC的句柄
const RECT& rectDest, //一个RECT结构的引用,用来确定目标图像。
const RECT& rectSrc //一个RECT结构体的引用,用来确定源图像
) const throw( );


BOOL Draw(
HDC hDestDC, //目标环境DC的句柄
int xDest, //目标矩形的左上角X坐标
int yDest //目标矩形的左上角Y坐标
) const throw( ); //
BOOL Draw(
HDC hDestDC, //目标环境DC的句柄
const POINT& pointDest //一个POINT结构体,用来确定目的矩形的左上角坐标
) const throw( );


BOOL Draw(
HDC hDestDC, //目标环境DC的句柄
int xDest, //目标矩形的左上角X坐标
int yDest, //目标矩形的左上角Y坐标
int nDestWidth, //目标矩形的宽度
int nDestHeight //目标矩形的宽度
) const throw( );


BOOL Draw(
HDC hDestDC, //目标环境DC的句柄
const RECT& rectDest //一个RECT结构的引用,用来确定目标图像。
) const throw( );
BOOL Draw(
HDC hDestDC, //目标设备环境DC的句柄
int xDest, //目的矩形的左上角X坐标(逻辑单位)
int yDest, //目的矩形的左上角Y坐标(逻辑单位)
int nDestWidth, //目标矩形的宽度(就是设定贴过去的图片的宽度)
int nDestHeight, //目标矩形的高度(就是设定铁锅的图片的高度)
int xSrc, //源矩形的左上角X坐标
int ySrc, //源矩形的左上角Y坐标
int nSrcWidth, //源矩形的宽度
int nSrcHeight //源矩形的高度
) const throw( );


BOOL Draw(
HDC hDestDC, //目标环境DC的句柄
const RECT& rectDest, //一个RECT结构的引用,用来确定目标图像。
const RECT& rectSrc //一个RECT结构体的引用,用来确定源图像
) const throw( );


BOOL Draw(
HDC hDestDC, //目标环境DC的句柄
int xDest, //目标矩形的左上角X坐标
int yDest //目标矩形的左上角Y坐标
) const throw( ); //
BOOL Draw(
HDC hDestDC, //目标环境DC的句柄
const POINT& pointDest //一个POINT结构体,用来确定目的矩形的左上角坐标
) const throw( );


BOOL Draw(
HDC hDestDC, //目标环境DC的句柄
int xDest, //目标矩形的左上角X坐标
int yDest, //目标矩形的左上角Y坐标
int nDestWidth, //目标矩形的宽度
int nDestHeight //目标矩形的宽度
) const throw( );


BOOL Draw(
HDC hDestDC, //目标环境DC的句柄
const RECT& rectDest //一个RECT结构的引用,用来确定目标图像。
) const throw( );

在上面的Draw函数的各种重载中,对于没有指定源矩形的版本,则整个源图像就是默认的源矩形。对于没有指定目的矩形尺寸的,则源图片的尺寸就是默认的目的矩形尺寸。

需要注意的是,Draw方法综合了StretchBlt、TransparentBlt和AlphaBlend函数的功能。。通常情况下,Draw()函数作用和StretchBlt()函数一致。但是当我们的图像中存在透明的颜色和alpha通道的时候,Draw()函数作用和TransparentBlt()或者AlphaBlend()函数一致。所以,在一般情况下,我们都尽量调用Draw方法来绘制图像。

6.对CImage所有类成员的介绍

我将CImage类的所有类函数按功能分为了四大类,可以更方面的了解各函数的定位和作用,也方便大家查阅:

<1>功能为创建与连接,释放的函数


Attach 附加一个HBITMAP到CImage对象,位图类型DIB与否都可以

Create 创建一个DIB部分的位图,并将其附加到之前创建的CImage对象

CreateEX 创建一个DIB部分的位图(拥有额外的参数),并将其附加到之前 创建的CImage对象

Destroy 从CImage类上分离该位图并进行删除

Detach 从CImage类里分离该位图

ReleaseDC 释放设备描述表中的数据

ReleaseGDIPlus 释放GDI+使用的源

<2>功能为输入与输出的函数

GetExporterFilterString 返回系统支持的输入文件格式类型及其描述

GetImporterFilterString 返回系统支持的输出文件格式类型及其描述

LoadFromResource 从指定的源处加载一个图像资源

Load 从指定文件处加载一个图像资源

IsIndexed 判断一个位图颜色映射到了一个索引调色盘

IsNull 判断一个源位图是否被当前载入

Save 以指定的类型来保存图像

<3>关于位图类型与参数的函数


GetBits 返回一个指向该位图实际像素值指针

GetBPP 返回该位图每个像素的位

GetColorTable 返回颜色表中RGB值的范围条目

GetDC 返回目前被选择的设备描述表

G

首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇(Visual C++)游戏开发笔记十五.. 下一篇VC++----为CListBox加上智能水平..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: