【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱: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)相关推荐

  1. win32开发(图形绘制)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 在win32上面绘制图形其实是比较简单的.要想进行图形绘制,关键是找到设备上下文.就我目前所知道 ...

  2. win32开发(画笔、刷子、字体)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 因为win32开发基本上都是和windows打交道,这些api其他的os也用不到,所以建议大家在 ...

  3. 跟我一起玩Win32开发

    跟我一起玩Win32开发(1):关于C++的几个要点 我不知道各位,一提起 C++ ,第一感觉是什么?而据俺的观察,许多人几乎成了 " 谈 C 色变 " .不管是 C 还是 C++ ...

  4. [Direct2D开发] 绘制网格

    [Direct2D开发] 绘制网格 原文: [Direct2D开发] 绘制网格 转载请注明出处:http://www.cnblogs.com/Ray1024 一.引言 最近在使用Direct2D进行绘 ...

  5. GCC for Win32开发环境介绍

    GCC for Win32开发环境介绍(1) 第一章 在视窗操作系统下的GCC 第一节GCC家族概览 GCC是一个原本用于Unix-like系统下编程的编译器.不过,现在GCC也有了许多Win32下的 ...

  6. win32开发(对话框启动)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 有过mfc开发经验的朋友都知道,在mfc下面有三种app开发的方式,它分别是mdi开发.sdi开 ...

  7. win32开发(调试)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 很多同学都喜欢看代码,但是不喜欢调试代码.其实,在我看来,调试代码本身也是一项重要的能力.一份代 ...

  8. 跟我一起玩Win32开发(4):创建菜单

    跟我一起玩Win32开发(4):创建菜单 也不知道发生什么事情,CSDN把我的文章弄到首页,结果有不少说我在误人子弟,是啊,我去年就说过了,如果你要成为砖家级人物,请远离我的博客,我这个人没什么特长, ...

  9. 直播卖货系统开发,Bitmap保存图片到指定路径

    直播卖货系统开发,Bitmap保存图片到指定路径相关的代码 1.manifests文件需要增加权限. <uses-permission android:name="android.pe ...

最新文章

  1. SequenceFile文件的读取
  2. Excel里如何更改坐标轴起始位置使图落在正中心
  3. 《超级搭讪学》— 综合素质提升书籍
  4. FancyCoverFlow(GalleryView)
  5. 计算机二级真题期刊论文模板,最新一般期刊论文格式
  6. 数字逻辑实验-交通灯控制设计
  7. centos7 安装sogou输入法
  8. android studio 模拟器很慢,解决AndroidStudio模拟器卡慢的问题
  9. 4、ESP8266 ADC脚读取模拟信号
  10. 一加和华为买哪个好 一加9用新特性赢得消费者口碑
  11. VC++ sourceforge.net中一些好的开源项目
  12. BiliBili2020校招笔试题
  13. Web服务器性能测试工具介绍
  14. Oracle常用基本查询语句
  15. 如何实现双因素认证?
  16. 【学习笔记】数据结构之单链表(先进先出、先进后出)
  17. 用C语言实现杨辉三角
  18. 阿里云史上最大规模降价:核心产品价格全线下调,最高降幅达50%
  19. js根据银行卡号判断属于哪个银行并返回银行卡类型
  20. 答题系统制作html,答题系统.html

热门文章

  1. 新一代的桌面虚拟化技术
  2. ArcGIS API for Silverlight开发入门准备
  3. Android IOS WebRTC 音视频开发总结(四一)-- QQ和webrtc打洞能力pk
  4. 【hibernate框架】各种问题用注解Annotation和mxl配置的解决
  5. Rokon 关于精灵的点击事件
  6. NodeJs+Qunit的使用方式
  7. DirectSound学习笔记(2):创建设备对象
  8. 获取本地ip(一个或多个都能取)
  9. VC中树状控件(TreeCtrl)的用法
  10. SQL基础(八)-- sql左右连接中的on and 和 on where 的区别