GetBitmapBits和GetDIBits的区别(Windows GDI)

转载 2011年07月19日 15:37:39

这都能被发现!

 

原文地址http://www.cppblog.com/windcsn/archive/2006/02/16/3284.html

 

      Windows GDI中有两个用来得到位图图像数据的API,分别是GetBitmapBits和GetDIBits;按照MSDN的解释,前者是用来得到设备独立位图的BITS,后者是得到兼容位图的BITS,所以在调用该函数的时候,第一个主要的区别是:GetDIBits需要提供一个设备内容,同时需要将位图的HANDLE选进这个设备内容(DC)才能能够得到位图的信息。
     我想上面的区别大家可能都知道,其实它还隐藏着另一个区别:就是对于同一个位图,得到的BITS内容的BUFFER不一样!
大家都知道BMP文件存储数据是倒叙的,也就是从图像的右下角开始存储,文件的最后是图像的左上角(这个来历可以看:WINDOWS编程中介绍);使用GetBitmapBits取得的BUFFER,位图的右下角的内容为第一个字节,实际上和真正的图像字节应该是一样的,而GetDIBits刚好相反,其BUFFER的顺序符合BMP文件中的顺序,如果按照正常的坐标,其存储顺序应该是倒叙。
     所以在程序中要合理的使用这两个API来得到你想要的位图数据

GDI和GDI+的区别和联系

GDI: GDI在Windows中定义为Graphics Device Interface,即图形设备接口,是Windows API(Application Programming Interfac...
  • ghevinn
  • ghevinn
  • 2013年01月23日 15:16
  • 2005

Windows GDI绘图-入门篇

Windows则提供了一抽象的接口,称之为图形设备接口(GDI)。 Windows己经提供了各种显示卡及打印机的驱动程序, 这样我们的程序就可以不必关心与系统相连的显示卡及打印机的类型。 我们的程序可...
  • xdrt81y
  • xdrt81y
  • 2014年02月20日 11:44
  • 10351

Windows界面编程之GDI一(入门篇)

GDI学习一(入门篇) 1、设备环境DC的概念              设备环境DC(Device Context 又称为设备上下文,也称为设备描述表)。他是一个关于如何绘制图形的方法的集合。它...
  • GyaoG
  • GyaoG
  • 2015年11月30日 00:44
  • 1587

Windows GDI绘图-实践篇一

一、基础   GDI的绘图函数基本上都是有状态的,所有的函数都要求一个HDC类型的句柄。这个HDC的获得有几个途径BeginPaint,GetWindowDC, GetDC.他们的参数都只需要一个H...
  • xdrt81y
  • xdrt81y
  • 2014年02月20日 12:00
  • 3199

GDI+ 和 GDI的对比

一、GDI   GDI是位于应用程序与不同硬件之间的中间层,这种结构让程序员从直接处理不同硬件的工作中解放出来,把硬件间的差异交给了GDI处理。GDI通过将应用程序与不同输出设备特性相隔离,使Win...
  • chenlycly
  • chenlycly
  • 2014年04月20日 11:57
  • 1690

windows基础编程----第四篇(调用GDI绘制出相关图形)

这一篇我们来画图吧~相信大家对图像的绘制也是会感兴趣点。
  • qq_30501909
  • qq_30501909
  • 2016年03月06日 20:53
  • 1267

Windows GDI绘图基础与轻量进阶

GDI 是 Graphics Device Interface 的缩写,称为图形设备接口,主要用来绘图,由动态链接库 GDI32.DLL 提供支持。 GDI 就是一个函数库,提供了很多绘图函数(...
  • softn
  • softn
  • 2016年06月20日 06:36
  • 889

使用GDI在windows中绘图(一)——windows GDI原理

在windows下绘图可以借助一些图形库用DrawLine和DrawCirccle这样的程序来画些tuxin
  • KujoJyotaro
  • KujoJyotaro
  • 2014年07月08日 23:52
  • 2441

WIN32 GDI+ 学习笔记(一):配置GDI+

关于GDI+的介绍网上到处都有,在这里就不多介绍了。主要是记录下在GDI+学习中的体会与心得,以及一些技巧。 由于笔者不打算用MFC而是用WIN32 API,故没有选择庞大的VS,而是挑了一个顺手一点...
  • f_j_l
  • f_j_l
  • 2015年01月05日 20:01
  • 1126

使用Windows API进行GDI窗口绘图

1.概述 在Windows上绘图方式,跟美术大师绘图差不多。美术绘画,首先要具备以下工具:画板,画布,画笔,画刷。同样,Windows上也有相关的概念。绘图设备DeviceContext(DC),位图...
  • celte
  • celte
  • 2013年08月23日 23:55
  • 4406
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GetBitmapBits和GetDIBits的区别(Windows GDI)
举报原因:
原因补充:

(最多只允许输入30个字)