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来得到你想要的位图数据

Opencv学习笔记(1)_MAT图像与HBITMAP互相转换

来源:Opencv学习笔记(1)_MAT图像与HBITMAP互相转换 BOOL ChdrtestDlg::HBitmapToMat(HBITMAP& _hBmp,Mat& _ma...
  • u011430225
  • u011430225
  • 2016-11-11 16:04:14
  • 1885

GetBitmapBits捕获视频帧

 这个概念比较特殊,意思就是一个视频的其中一桢,就象我们看电影的海报一样,是电影中的一部分。这个就是扑获视频文件中的一幅图像,然后显示出来。 我们通过Media Detector对象提供的接口来实现,...
  • cecilia214
  • cecilia214
  • 2010-03-24 11:00:00
  • 919

OpenCV IplImage和GDI+ Bitmap的相互转换

IplImage和Bitmap都是内存图形的表示方法,前者是OpenCV开源视觉库的,后者是GDI+的。如果在VC中使用OpenCV库的话,很可能会用到这两者的转换。 在网上搜索这两种格式转换的...
  • shaoxiaohu1
  • shaoxiaohu1
  • 2013-03-28 22:00:35
  • 6681

GetBitmapBits和GetDIBits

  • 2009年03月15日 22:07
  • 3KB
  • 下载

GetObject 和 GetBitmapBits 获取位图数据的区别

表面上看GetBitmapBits(...) 和 GetObject(...)都可以获取位图句柄中的数据,例如: 第一种方法:      HBITMAP hbitmap = (HBITMAP)Load...
  • jfu22
  • jfu22
  • 2015-04-25 10:14:15
  • 2892

GetBitmapBits和GetDIBits的区别(Windows GDI)

这都能被发现!  原文地址http://www.cppblog.com/windcsn/archive/2006/02/16/3284.html       Windows GDI中有两个用来得到位图...
  • yongshengsilingsa
  • yongshengsilingsa
  • 2011-07-19 15:37:39
  • 1230

C#的Bitmap.LockBits 使用说明

本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。 翻译 英语 Bitmap.LockBits 方法 (Rectangl...
  • u013035197
  • u013035197
  • 2016-06-15 20:29:07
  • 4040

WIN32,GetBitmapBits与GetPixel

先看看MSDN上的, The GetBitmapBits function copies the bitmap bits of a specified device-dependent bitmap...
  • MikeDai
  • MikeDai
  • 2017-03-15 11:58:35
  • 307

Windows GDI和GDI+ 区别和联系简介

C++.Net,STL、BCG、GDI+、设计模式等
  • wangcg123
  • wangcg123
  • 2014-06-26 09:27:18
  • 637

用opencv对桌面截屏

#ifdef _MSC_VER #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) #endif...
  • sinat_36219858
  • sinat_36219858
  • 2017-04-27 20:05:22
  • 2596
收藏助手
不良信息举报
您举报文章:GetBitmapBits和GetDIBits的区别(Windows GDI)
举报原因:
原因补充:

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