DDB与DIB的区别】的更多相关文章

DDB(设备相关位图) DDB依赖于具体设备:DDB的颜色模式必需与输出设备相一致.例如,如果当前的显示设备是256色模式,那么DDB必然也是256色的.在256色以下的位图中存储的像素值是系统调色板的索引,其颜色依赖于系统调色板.由于DDB高度依赖输出设备,所以DDB只能存在于内存中,它要么在视频内存中,要么在系统内存中 DIB的与设备无关性主要体现在以下两个方面:DIB的颜色模式与设备无关.例如,一个256色的DIB即可以在真彩色显示模式下使用,也可以在16色模式下使用.256色以下(包括2…
DB与DIB的区别是什么?觉得书上介绍的有点抽象.不容易理解.他们两者之间的区别的“物理意义” [“现实意义”]——姑且这么叫吧,呵呵!被这个问题困扰了很久,所以今天决定好好查资料总结一下,把它彻底搞清楚,也希望能对那些和我一样有着困惑的你 起到一点帮助.转入正题: [与位图相关的基础概念:] DDB位图(Device-dependent Bitmap):设备相关位图,也有书上称为GDI位图(Graphic Device Interface—图形设备接口). DIB位图(Device-indep…
GDI/GDI+中只有对字体的外边框的测量,而没有提供对点,线,面,曲线的外边框获取函数.下面是本人利用DIB技术编写的探测简单图元,甚至也可以探测自己定义的复杂图元的外边矩形框的函数.本人已经测试,效果很棒. bool GetFeatureRange(void *object, //自己定义的图元对象 CRect rect, // DIB屏幕大小 CDC *pDC, //绘图设置 CRect &retVal // 检测范围 ) { CDC memDC; //临时绘图设备 COLORREF bk…
第15章 设备相关位图_15.3 DIB和DDB的结合 15.3.1 从DIB创建DDB (1)hBitmap =CreateDIBitmap(…)——注意这名称会误导,实际上创建的是DDB 参数 说明 hdc 设备环境句柄,可以为NULL. pInfoHdr 指向DIB信息头的指针,即BITMAPINFOHEADER fInit 0或CBM_INIT.CBM_INIT指定用后面3个参数来初始化DDB中的像素位 pBits DIB像素位的指针 pInfo DIB信息指针,即BITMAPINFO(…
设备无关位图即独立于设备的位图(DIB)与"Device-Dependent Bitmaps (DDB) 设备相关位图"相比,它不再依赖于具体的设备,从而更适合在不同的计算机之间传输和显示.它包含一个颜色表,颜色表描述像素值如何对应于RGB颜色值,其描述通过发光产生的颜色.因此,DIB可以在任何设备上实现适当的配色方案.DIB包含以下颜色和尺寸信息: 创建矩形图像的设备的颜色格式. 创建矩形图像的设备的分辨率. 创建图像的设备的调色板. 将红,绿,蓝(RGB)三元组映射到矩形图像中的像…
目录 第1章简介    1 1.1 DFB    1 1.2 DDB    1 1.3 DIB    2 第2章相关API    3 2.1 创建    3 2.1.1 CreateCompatibleBitmap    3 2.1.2 CreateBitmap    3 2.1.3 CreateBitmapIndirect    4 2.1.4 CreateDIBitmap    4 2.1.5 CreateDIBSection    5 2.1.6 小结    6 2.2 查询    6 2…
要将文件显示成图片这其中需要经过 1.将磁盘文件内容读取到内存: 2.将文件对应内存里包含的像素为以及像素信息转化为显示驱动器能理解的格式: 3.将转化过后的内存送到显卡的缓存区 4.显示器读取缓存现实于屏幕 在GDI中,WINDOWS不允许用户操作硬件,所以提供了用于显示位图文件到屏幕的API: SetDIBitsToDevice   直接将DIB显示到屏幕上 ( hdc, xDst, yDst,         (xDst,yDst)指定图片左上角的在屏幕上的坐标 cxSrc,       …
以前也遇到过bmp文件的读写.这篇博客很好,写的其他内容也值得学习. 参考:http://blog.csdn.net/xiajun07061225/article/details/6633938  学习 在读取bmp图片的时候,一定要注意内存对齐的问题,譬如文件头,否则无法读取出正确结果. 关于图片的像素数据,每一行的像素的字节数必须是4的整数倍.如果不是,则需要补齐.一般来说,bmp图像文件的数据是从下到上,从左到右的.即从文件中最先读到的是图像最下面一行的左边第一个像素,然后是坐标第二个..…
系统环境:Windows 7软件环境:Visual Studio 2008 SP1本次目的:实现VC单文档.对话框程序显示图片效果 CImage 是VC.NET中定义的一种MFC/ATL共享类,也是ATL的一种工具类,它提供增强型的(DDB和DIB)位图支持,可以装入.显示.转换和保存多种格式的图像文件,包括BMP.GIF.JPG.PNG.TIF等.CImage是一个独立的类,没有基类.(CImage类是基于GDI+的,从VC.NET起引进,VC 6.0中没有.)ATL (Active Temp…
朋友说在一个VC++6.0开发的项目中要增加打印窗体的功能,让帮忙写个代码供其调用. 这么老的IDE当然不想碰了,并且也不喜欢MFC笨拙不清晰的封装.所以决定採用纯Win32 API,然后用C++类简单封装一下. 1 基本思路 窗体DC和打印机DC是两类不兼容的DC.所以它们之间传送位图仅仅能通过DIB.首先,通过BitBlt()把要打印窗体的客户区复制到DDB内存位图中,然后通过GetDIBits()把DDB转换为DIB,最后通过StretchDIBits()向打印机DC输出. 2 代码实现…