GDI基础 | 《Windows游戏编程》读书笔记(二)

书名:《逐梦旅程:Windows游戏编程之从零开始》

作者博客地址:http://blog.csdn.net/poem_qianmo/article/details/12895487


第四章讲了GDI的一些基础,主要是一些函数的使用,看了代码就能看懂,主要是能熟练掌握。这里贴代码也不好看,我就不贴代码了。以下写一些笔记,主要是我写代码时遇到的问题、解决方法、和我的一些理解。


1. PlaySound函数

使用PlaySound函数播放音乐,但是播放不出来。发现PlaySound函数不能播放MP3格式的音乐,貌似只能播放wav格式的音频。所以,如果下载下来的音频是MP3格式的话,可以在网上下载一个“音频格式转换器”,转化成wav格式的音乐就可以播放了。


2. DefWindowProc函数

第一次自己写完一个窗口的框架时,发现窗口显示不出来,只有文字浮在屏幕上。比对了自己的代码之后发现是因为在WndProc函数中的switch语句里,default部分少写了一句 :

return DefWindowProc(hWnd, message, wParam, lParam);

只调用DefWindowProc函数也不行,必须要return它的返回值才行。


3. 矩形边框

在用画刷填充矩形区域的时候会有边框出现,边框的颜色和样式就是当前画笔的颜色和样式。如果不想要边框,就可以将画笔的样式设置成PS_NULL。如下图所示:


矩形边框示例


4. 随机函数的说明

(1)srand() 中的种子一样,产生的随机数的顺序就一样。

(2)rand() 的内部实现用的是线性同余法,不是真的随机数,但因其周期特别长,故在一定范围内可看成是随机的。

(3)产生的最大随机数是RAND_MAX。


5. 绘制位图四部曲

(1)加载位图         LoadImage()

(2)建立兼容DC    CreateCompatibleDC()

(3)选用位图对象  SelectObject()

    这里是将bitmap选入到内存DC中,而不是窗口DC中。

(4)进行贴图         BitBlt()




©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容