win32开发(绘制bitmap)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
win32平台支持直接绘制bitmap图片,所以同学们可以从网上直接找一张图片来绘制。一般来说,绘制图像分成这几个步骤:1、创建兼容上下文设备,2、根据文件直接创建bitmap句柄,3、句柄绑定,4、使用BitBlt绘图,5、删除bitmap句柄和兼容上下文设备,
CreateCompatibleDC
LoadImage
SelectObject
BitBlt
DeleteObject
DeleteDC
看上去有点复杂,我们可以弄一点真实的代码来说明,
case WM_PAINT:HDC hdcmem; HBITMAP hbmp;BITMAP bmp;hdc = BeginPaint(hWnd, &ps);hdcmem = CreateCompatibleDC(hdc);hbmp = (HBITMAP)LoadImage(NULL, "setup.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); GetObject(hbmp, sizeof(bmp), &bmp);SelectObject(hdcmem, hbmp);BitBlt(hdc, 0, 0, bmp.bmWidth, bmp.bmHeight, hdcmem, 0, 0, SRCCOPY);DeleteObject(hbmp);DeleteDC(hdcmem);EndPaint(hWnd, &ps);break;
这里的图片是用LoadImage获取的,如果是系统的位图,可以直接用LoadBitmap获取。同时注意,这里bmp的信息是通过GetObject获得的,它主要是在BitBlt的时候使用到的。如果大家需要绘制其他的图片,只需要把这里的文件换成自己本地的bitmap文件就可以了。那么,如果想自己直接创建bitmap像素进行贴图,应该怎么用呢?也不复杂,
CreateBitmap
SetDIBits
CreateCompatibleDC
SelectObject
BitBlt
DeleteDC
具体实现,这里就不贴出代码了。大家可以参考这个地址的代码, 地址在 这。但是,我们可以用msdn的方法,把这些函数的意义弄明白,一步一步去做就可以了。另外,还有一个稍微复杂一点,但是我觉得很有意义的案例就是msdn提供的一个截屏代码的范例,地址在 这。我个人觉得,这个代码非常有意义,如果大家可以真正把这份代码看明白了,使用win32贴图这个基本功能也就真正掌握了。
win32开发(绘制bitmap)相关推荐
- win32开发(图形绘制)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 在win32上面绘制图形其实是比较简单的.要想进行图形绘制,关键是找到设备上下文.就我目前所知道 ...
- win32开发(画笔、刷子、字体)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 因为win32开发基本上都是和windows打交道,这些api其他的os也用不到,所以建议大家在 ...
- 跟我一起玩Win32开发
跟我一起玩Win32开发(1):关于C++的几个要点 我不知道各位,一提起 C++ ,第一感觉是什么?而据俺的观察,许多人几乎成了 " 谈 C 色变 " .不管是 C 还是 C++ ...
- [Direct2D开发] 绘制网格
[Direct2D开发] 绘制网格 原文: [Direct2D开发] 绘制网格 转载请注明出处:http://www.cnblogs.com/Ray1024 一.引言 最近在使用Direct2D进行绘 ...
- GCC for Win32开发环境介绍
GCC for Win32开发环境介绍(1) 第一章 在视窗操作系统下的GCC 第一节GCC家族概览 GCC是一个原本用于Unix-like系统下编程的编译器.不过,现在GCC也有了许多Win32下的 ...
- win32开发(对话框启动)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 有过mfc开发经验的朋友都知道,在mfc下面有三种app开发的方式,它分别是mdi开发.sdi开 ...
- win32开发(调试)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 很多同学都喜欢看代码,但是不喜欢调试代码.其实,在我看来,调试代码本身也是一项重要的能力.一份代 ...
- 跟我一起玩Win32开发(4):创建菜单
跟我一起玩Win32开发(4):创建菜单 也不知道发生什么事情,CSDN把我的文章弄到首页,结果有不少说我在误人子弟,是啊,我去年就说过了,如果你要成为砖家级人物,请远离我的博客,我这个人没什么特长, ...
- 直播卖货系统开发,Bitmap保存图片到指定路径
直播卖货系统开发,Bitmap保存图片到指定路径相关的代码 1.manifests文件需要增加权限. <uses-permission android:name="android.pe ...
最新文章
- SequenceFile文件的读取
- Excel里如何更改坐标轴起始位置使图落在正中心
- 《超级搭讪学》— 综合素质提升书籍
- FancyCoverFlow(GalleryView)
- 计算机二级真题期刊论文模板,最新一般期刊论文格式
- 数字逻辑实验-交通灯控制设计
- centos7 安装sogou输入法
- android studio 模拟器很慢,解决AndroidStudio模拟器卡慢的问题
- 4、ESP8266 ADC脚读取模拟信号
- 一加和华为买哪个好 一加9用新特性赢得消费者口碑
- VC++ sourceforge.net中一些好的开源项目
- BiliBili2020校招笔试题
- Web服务器性能测试工具介绍
- Oracle常用基本查询语句
- 如何实现双因素认证?
- 【学习笔记】数据结构之单链表(先进先出、先进后出)
- 用C语言实现杨辉三角
- 阿里云史上最大规模降价:核心产品价格全线下调,最高降幅达50%
- js根据银行卡号判断属于哪个银行并返回银行卡类型
- 答题系统制作html,答题系统.html