BITMAP BITMAPINFO BITMAPINFOHEADER

BITMAP : 

The BITMAP structure structure
defines the height, width, color format, and bit values of a logical bitmap.

该结构定义了逻辑位图的高度、宽度、颜色格式和位值。

/* Bitmap Header Definition */
typedef struct tagBITMAP
  {
    LONG        bmType;//指定了位图的类型,对于逻辑位图该参数必须为0
    LONG        bmWidth;//指定了位图的宽度(以字节为单位),必须大于0
    LONG        bmHeight;//指定了位图的高度(以字节为单位),必须大于0</span>
    LONG        bmWidthBytes;//每行字节数,4位对齐
    WORD        bmPlanes;//指定了颜色平面数
    WORD        bmBitsPixel;//指定了每个像素的位数,比如RGB每个像素占3个字节,即24位
    LPVOID      bmBits;//指向位图数据内存的地址
  } BITMAP, *PBITMAP, NEAR *NPBITMAP, FAR *LPBITMAP;

BITMAPINFO :

The BITMAPINFO structure
defines the dimensions and color information for a DIB.

该结构定义了DIB(设备无关位图)的大小和颜色信息。

typedef struct tagBITMAPINFO {
    BITMAPINFOHEADER    bmiHeader;//一个BITMAPINFOHEAD结构体,它包含了关于大小尺寸和颜色格式信息
    RGBQUAD             bmiColors[1];//1、RGBQUAD数组,每个项组成了颜色表 2、16位无符号整型数组,指定了当前以实现的逻辑调色板的索引
} BITMAPINFO, FAR *LPBITMAPINFO, *PBITMAPINFO;

BITMAPINFOHEADER

The
BITMAPINFOHEADER structure contains information about the dimensions and color format of a DIB.

该结构包含了一些关于DIB大小尺寸和颜色格式的信息。

typedef struct tagBITMAPINFOHEADER{
        DWORD      biSize;//该结构体所要求的字节数
        LONG       biWidth;//位图的宽度,以字节为单位
        LONG       biHeight;//位图的高度,以字节为单位
        WORD       biPlanes;//目标设备的平面数,必须为1
        WORD       biBitCount;//每个像素的位数
        DWORD      biCompression;//位图的压缩类型
        DWORD      biSizeImage;//位图的大小,以字节为单位
        LONG       biXPelsPerMeter;//位图水平分辨率,以每米多少像素为单位
        LONG       biYPelsPerMeter;//位图垂直分辨率,以每米多少像素为单位</span>
        DWORD      biClrUsed;//位图实际所使用的颜色的数量
        DWORD      biClrImportant;//显示位图时所需要的颜色(指数)的数量,如果为0那么所有的颜色都被需要
} BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER;
时间: 2024-12-31 11:36:48

BITMAP BITMAPINFO BITMAPINFOHEADER的相关文章

IPicture总结

1.利用IPicture接口加载.显示图片 IPicture接口管理一个图片对象和它的属性.图片对象提供对Bitmap Icon Metafile的语言不相关的抽象支持.图像对象的主要接口是IPicture和IPictureDisp.IPictureDisp从IDispatch继承,提供了通过自动化访问图片属性的能力.图片对象可通过OleCreatePictureIndirect创建.关于IPicture支持的其他接口和方法可以看MSDN,一般创建图片对象可以用OleLoadPicture函数,

duilib 使用图片素材或者算法给窗体增加阴影(源码和demo)

转载请说明原出处,谢谢:http://blog.csdn.net/zhuhongshu/article/details/42580877          之前我写的程序使用阴影时,一直是使用codeproject网站上的WndShadow类,并且把它当作单独的模块来使用,后来觉得使用阴影的情况非常多,所以今天就把这个类改写了一下,让他融入到duilib,并且可以直接使用xml来描述阴影,不需要写任何c++代码.         以前的WndShadow类是用算法来计算阴影,灵活性很大,但是缺点

如何将内存中的位图数据绘制在DC上

假如你定义了一个位图类,里面包含位图头,位图信息头,调色板,位图数据.然后你按照位图的格式将位图文件读入你的类中,现在你知道了位图的全部信息了.主要信息包含在位图信息头里面,数据则在位图数据缓冲里面.现在的问题是,在Windows下面如何将一张位图画出来,而且现在是如何从数据缓存里面绘画出位图.  一般情况,我们都是直接绘制在dc里面,而不是绑定到子控件,让子控件自己绘画,比如picture控件之类的,我觉得提供绘制在dc里面的接口更具有广泛性.   现在我知道两种从内存数据绘制彩色位图的2种方

bitmap格式分析

最近正在着手数码相框需要对bmp格式图片进行解析,下面是对图片格式的一些简要分析,jpg格式图片解析相对简单的多,可以直接调用libjpg库. 说到图片,位图(Bitmap)当然是最简单的,它Windows显示图片的基本格式,其文件扩展名为*.BMP.在Windows下,任何各式的图片文件(包括视频播放)都要转化为位图个时候才能显示出来,各种格式的图片文件也都是在位图格式的基础上采用不同的压缩算法生成的(Flash中使用了适量图,是按相同颜色区域存储的). 一.下面我们来看看位图文件(*.BMP

IPicture、BITMAP、HBITMAP和CBitmap的关系

1.有关IPicture加载图片后直接Render到内存DC的问题(HBITMAP转换IPicture)Picture的方法get_Handle可以直接得到图片的句柄 IPicture *pIPicture;HBITMAP hBitmap;...pIPicture->get_Handle((OLE_HANDLE *)&hBitmap); 2.CBitmap 转换 HBITMAPCBitmap m_bitMap;HBITMAP m_hBitMap;m_bitMap.LoadBitmap(IDB

位图BITMAP格式分析(2)

前一段时间开发一个编码filter ,过程中出现了回放图像上下倒置的现象,百思不得其解,只好在程序中加了一段将数据倒置的代码,今天看梁老(呵呵,不知多老,反正是前辈拉)的<编程高手箴言>,里面有一段讲正向位图的,好像突然明白了些,便在网上查了一下,终于弄明白以前的现象是怎么回事. bmp位图的存贮方式应该是从下到上,从左向右.也就是说bmp位图的显示方式是第一排显示的是最后一行的数据.在我开发过程中由于使用的是码流解码产生的解码图像(按bmp位图以RBG格式存储),自然是上下颠倒(从下到上)存

Bitmap重要属性

Bitmap: (1)     public Bitmap (int width,int height,int stride,     PixelFormat format,IntPtr scan0) 用指定的大小.像素格式和像素数据初始化 Bitmap 类的新实例. (2)     LockBits():,就是把图像的内存区域根据格式锁定,拿到那块内存的首地址.这样就可以直接改写这段内存了.这个方法的设计是挺好,可惜都是C++作为源泉来的,.NET Framework里面根本就不推荐用指针,需

Android中Bitmap用法实例分析_Android

本文实例讲述了Android中Bitmap用法.分享给大家供大家参考,具体如下: 一般在android程序中把图片文件放在res/drawable目录下就可以通过R.drawable.id来使用,但在存储卡中的图片怎样引用呢?下面通过实现这个功能来介绍Bitmap的用法. 程序如下: import java.io.File; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.B

在非UI线程处理Bitmap

http://my.oschina.net/ryanhoo/blog/88344 译者:Ryan Hoo 来源:https://developer.android.com/develop/index.html 译者按: 在Google最新的文档中,提供了一系列含金量相当高的教程.因为种种原因而鲜为人知,真是可惜!Ryan将会细心整理,将之翻译成中文,希望对开发者有所帮助.         本系列是Google关于展示大Bitmap(位图)的官方演示,可以有效的解决内存限制,更加有效的加载并显示图