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


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;


相关文章
|
29天前
|
存储 Java
Bitmap位图(Java实现)
本文介绍了使用Java实现一个简单的Bitmap,通过自定义byte数组存储数据,提供put和exist方法分别用于插入数据和查询数据是否存在。Bitmap利用位操作高效地管理大量布尔值,适用于空间优化的场景。代码中详细解释了位图的核心原理、方法实现及边界检查。后续计划探讨位图在海量数据去重中的应用及JDK BitSet源码分析。
69 7
|
3月前
|
存储 监控
Bitmap
【10月更文挑战第7天】
35 1
|
7月前
|
存储 算法 Java
BitMap介绍
BitMap介绍
37 0
|
7月前
|
开发框架 .NET C#
详细解读Bitmap的优化
详细解读Bitmap的优化
41 0
|
7月前
|
API Android开发
55. 【Android教程】位图:Bitmap
55. 【Android教程】位图:Bitmap
80 0
使用Bitmap.createBitmap遇到的问题
使用Bitmap.createBitmap遇到的问题
464 0
|
Java Android开发
Bitmap详解
Bitmap的分析与使用 Bitmap的创建 创建Bitmap的时候,Java不提供new Bitmap()的形式去创建,而是通过BitmapFactory中的静态方法去创建,如:BitmapFactory.
2109 0
|
存储 编解码 API
|
存储 算法 程序员
Bitmap 算法
位图算法,内存中连续的二进制位bit,用于对大量整型数据做去重和查询。 举个例子,给定一块长度是10bit的内存空间,依次插入4,3,2,1,怎么存储? 1. 给定长度是10的bitmap,每一个bit位分别对应着从0到9的10个整型数。
1537 0