Windows Game Note5
来源:互联网 发布:numpy 稀疏矩阵 编辑:程序博客网 时间:2024/04/29 22:01
1、
①
②
③
④
2、
typedef struct _RGNDATA {
} RGNDATA;
你所需要做的一切就是分配足够的内存给RGNDATAHEADER结构,连同一块用以存储一个或多个连续RECT结构的内存。
3、
4、
位图文件头:它存放着图像的总体信息,存放在Win32数据结构BITMAPFILEHEADER
typedef struct tagBITMAPFILEHEADER {
} BITMAPFILEHEADER;
位图信息段:包括两部分数据结构,即BITMAPINFOHEADER部分和调色板信息部分(如果有的话)。
typedef struct tagBITMAPINFO {
} BITMAPINFO;
BITMAPINFOHEADER结构如下:
typedef struct tagBITMAPINFOHEADER{
} BITMAPINFOHEADER;
8位图像通常使biClrUsed和biClrImportant两字段均为256,而16位或24位图像则均为0,因此,应当通过测试biBitCount找出每像素有多少位。
位图数据区:它是一个字节流,描述了1、4、8、16或24位图像像素,数据是逐行排列的,但是有时会颠倒过来,即数据的第一行其实是图像的最后一行。可以通过biHeight的正负号来知道这点,正值表示颠倒,负值表示正常。
为了自行读取一个.BMP文件,首先需要打开它,然后读取BITMAPFILEHEADER,接着读BITMAPINFO部分,即BITMAPINFOHEADER外加调色板,调色板项是RGBQUAD,是正常的PALETTEENTRYs的倒序:
typedef struct tagRGBQUAD {
} RGBQUAD;
5、
int file_handle;
OFSTRUCT file_data;
OpenFile(file_handle, &file_data,OF_READ);
_lread(file_handle, ..);
_lseek(file_handle, ..);
_lclose(file_handle);
6、
7、
创建一个通用的既非主表面又非后备缓冲的离屏DirectDraw表面:
①
②
③
8、
①
②
③
如果你使目标RECT比源RECT大或者小,图形转换将自动缩放图像来适应你指定的目标尺寸。
9、
①
如果你为源色彩键设置了一个色彩范围(色彩空间),在调用SetColorKey()时必须加上标志DDCKEY_COLORSPACE,否则DirectDraw将使色彩范围坍缩为一个值。
②
10、当你进行blit时要考虑到裁剪,还没有设置好裁剪区就开始朝表面上进行blitting会很糟糕,你需要做的就是调用你的DDraw_Attach_Clipper函数,设一个单独的同屏幕边界等大的裁剪矩形区域。
- Windows Game Note5
- Windows Game Note1
- Windows Game Note2
- Windows Game Note3
- Windows Game Note4
- Windows Game Note6
- Windows Game Note7
- Windows Game Note8
- Windows Game Note9
- HDOJ 1846 Brave Game
- POJ 1753 Flip Game
- A simple puzzle game
- HDOJ 1505 City Game
- poj 2996 Help Me with the Game
- 环境变量设置 Solaris windows
- subversion for windows 安装
- Windows Atom 使用
- windows vim 粘贴
- Windows Game Note2
- C++ Primer 笔记13
- C++ Primer 笔记14
- Windows Game Note3
- Windows Game Note4
- Windows Game Note5
- Windows Game Note6
- C++ Primer 笔记15
- C++ Primer 笔记16
- C++ Primer 笔记17
- C++ Primer 笔记18
- C++ Primer 笔记19
- Windows Game Note7
- C++ Primer 笔记20