精华内容
下载资源
问答
  • BMP位图图像格式简介

    2015-01-07 11:48:09
    BMP位图图像格式简介,位图文件结构表,简单举例
  • 矢量图像用点和线来描述物体,所以文件会比较小,同时也能提供高清晰的画面,适合于直接打印或输出。而位图图像的存储单位是图像上每一点的像素值,因此一般的图像文件都很大,会占用大量的网络带宽。
        矢量图像用点和线来描述物体,所以文件会比较小,同时也能提供高清晰的画面,适合于直接打印或输出。而位图图像存储单位是图像上每一点的像素值,因此一般的图像文件都很大,会占用大量的网络带宽。
    展开全文
  • 将任意格式图片文件转换为位图bmp格式。适合在vc资源中导入使用。
  • 提供了各种图像文件格式转换为位图的源文件程序实现过程。 我使用的是GDI+编译环境实现的对图像文件的操作,所以首先您得先到网上下载关于GDI+的环境。然后将其加载到vc的工程目录下。然后在应用程序类中添加: ...

           很多刚学习编写界面程序开发的程序员,一定都很我一样,非常苦恼在网上下载的图片不是vc资源中能使用的标准BMP格式文件。现在我自己编写了一个格式转换工具。提供了各种图像文件格式转换为位图的源文件程序实现过程。

           我使用的是GDI+编译环境实现的对图像文件的操作,所以首先您得先到网上下载关于GDI+的环境。然后将其加载到vc的工程目录下。然后在应用程序类中添加:       GdiplusStartupInput m_gdiplusStartupInput;

    ULONG_PTR              m_pGdiToken;

    两个成员变量。实现GDI+的初始化工作。然后在应用程序APP中的InitInstance()中注册GDI+:                                              GdiplusStartup(&m_pGdiToken,&m_gdiplusStartupInput,NULL);    

    然后在ExitInstance()中关闭GDI+:
     GdiplusShutdown(m_pGdiToken);
    注:在GDI+中,有关字符的参数类型全部都是WCHAR类型的。所以需要ToWChar函数进行数据类型转换
     
    具体资源请参看我的资源。资源地址
    展开全文
  • 这是利用VC++编写的一个程序,它可以实现如何打开一幅位图和其他格式图像,由于是初学者,可能编的不完善。
  • 位图文件格式

    千次阅读 2011-12-14 00:30:45
    一、位图文件结构 位图文件由三部分组成:文件头 + 位图信息 + 位图像素数据 1、位图文件头。位图文件头主要用于识别位图文件。以下是位图文件头结构的定义: typedef struct tagBITMAPFILEHEADER { // ...

    一、位图文件结构

    位图文件由三部分组成:文件头 + 位图信息 + 位图像素数据

    1、位图文件头。位图文件头主要用于识别位图文件。以下是位图文件头结构的定义:

    typedef struct tagBITMAPFILEHEADER { // bmfh 
        WORD    bfType; 
        DWORD   bfSize; 
        WORD    bfReserved1; 
        WORD    bfReserved2; 
        DWORD   bfOffBits; 
    } BITMAPFILEHEADER;
    其中的bfType值应该是“BM”(0x4d42),标志该文件是位图文件。bfSize的值是位图文件的大小。
    2、位图信息中所记录的值用于分配内存,设置调色板信息,读取像素值等。
    以下是位图信息结构的定义:

    typedef struct tagBITMAPINFO {
        BITMAPINFOHEADER    bmiHeader;
        RGBQUAD             bmiColors[1];
    } BITMAPINFO;

    可见位图信息也是由两部分组成的:位图信息头 + 颜色表



    2.1位图信息头。位图信息头包含了单个像素所用字节数以及描述颜色的格式,此外还包括位图的宽度、高度、目标设备的位平面数、图像的压缩格式。以下是位图信息头结构的定义:
    typedef struct tagBITMAPINFOHEADER{ // bmih 
        DWORD  biSize; 
        LONG   biWidth; 
        LONG   biHeight; 
        WORD   biPlanes; 
        WORD   biBitCount 
        DWORD  biCompression; 
        DWORD  biSizeImage; 
        LONG   biXPelsPerMeter; 
        LONG   biYPelsPerMeter; 
        DWORD  biClrUsed; 
        DWORD  biClrImportant; 
    } BITMAPINFOHEADER; 

    下表是对结构体当中各个成员的说明: 
    结构成员 说 明
    biSize 结构BITMAPINFOHEADER的字节数,即sizeof(BITMAPINFOHEADER)*
    biWidth 以像素为单位的图像宽度*
    biHeight 以像素为单位的图像长度*
    biplanes 目标设备的位平面数
    biBitCount 每个像素的位数*(1)
    biCompression 图像的压缩格式(这个值几乎总是为0)
    biSizeImage 以字节为单位的图像数据的大小(对BI_RGB压缩方式而言)
    biXPelsPermeter 水平方向上的每米的像素个数
    biYpelsPerMeter 垂直方向上的每米的像素个数
    biClrused 调色板中实际使用的颜色数(2)
    biClrImportant 现实位图时必须的颜色数(3)

    说明:*是需要加以注意的部分,因为它们是我们在进行位图操作时经常参考的变量
    (1)对于每个像素的字节数,分别有一下意义:
    0,用在JPEG格式中
    1,单色图,调色板中含有两种颜色,也就是我们通常说的黑白图片
    4,16色图
    8,256色图,通常说的灰度图
    16,64K图,一般没有调色板,图像数据中每两个字节表示一个像素,5个或6个位表示一个RGB分量
    24,16M真彩色图,一般没有调色板,图像数据中每3个字节表示一个像素,每个字节表示一个RGB分量
    32,4G真彩色,一般没有调色板,每4个字节表示一个像素,相对24位真彩图而言,加入了一个透明度,即RGBA模式

    (2)这个值通常为0,表示使用biBitCount确定的全部颜色,例外是使用的颜色树木小于制定的颜色深度的颜色数目的最大值。

    (3)这个值通常为0,表示所有的颜色都是必需的

    2.2颜色表。颜色表一般是针对16位一下的图像而设置的,对于16位和16位以上的图像,由于其位图像素数据中直接对对应像素的RGB(A)颜色进行描述,因而省却了调色板。而对于16位一下的图像,由于其位图像素数据中记录的只是调色板索引值,因而需要根据这个索引到调色板去取得相应的RGB(A)颜色。颜色表的作用就是创建调色板。

    下图是带调色板和不带调色板的位图的简单示意图

    图1 带调色板和不带调色板位图之间的区别

    颜色表是由颜色表项组成的,颜色表项结构的定义如下:

    typedef struct tagRGBQUAD { // rgbq 
        BYTE    rgbBlue; 
        BYTE    rgbGreen; 
        BYTE    rgbRed; 
        BYTE    rgbReserved; 
    } RGBQUAD;

    
    其中需要注意的问题是,RGBQUAD结构中的颜色顺序是BGR,而不是平常的RGB。
    

    3、位图数据。最后,在位图文件头、位图信息头、位图颜色表之后,便是位图的主体部分:位图数据。根据不同的位图,位图数据所占据的字节数也是不同的,比如,对于8位位图,每个字节代表了一个像素,对于16位位图,每两个字节代表了一个像素,对于24位位图,每三个字节代表了一个像素,对于32位位图,每四个字节代表了一个像素。

    展开全文
  • 位图格式

    千次阅读 2012-06-13 11:15:28
    BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件...
    
    

    BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。 由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。

    文件结构:

      典型的BMP图像文件由四部分组成:

      1:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息;

      2:位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息;

      3:调色板,这个部分是可选的,有些位图需要调色板,有些位图,比如真彩色图(24位的BMP)就不需要调色板;

      4:位图数据,这部分的内容根据BMP位图使用的位数不同而不同,在24位图中直接使用RGB,而其他的小于24位的使用调色板中颜色索引值。

      位图的类型:

      位图一共有两种类型,即:设备相关位图(DDB)和设备无关位图(DIB)。DDB位图在早期的Windows系统(Windows 3.0以前)中是很普遍的,事实上它也是唯一的。然而,随着显示器制造技术的进步,以及显示设备的多样化,DDB位图的一些固有的问题开始浮现出来了。比如,它不能够存储(或者说获取)创建这张图片的原始设备的分辨率,这样,应用程序就不能快速的判断客户机的显示设备是否适合显示这张图片。为了解决这一难题,微软创建了DIB位图格式。

      设备无关位图 (Device-Independent Bitmap)

      DIB位图包含下列的颜色和尺寸信息:

      * 原始设备(即创建图片的设备)的颜色格式。

      * 原始设备的分辨率。

      * 原始设备的调色板

      * 一个位数组,由红、绿、蓝(RGB)三个值代表一个像素。

      * 一个数组压缩标志,用于表明数据的压缩方案(如果需要的话)。

      以上这些信息保存在BITMAPINFO结构中,该结构由BITMAPINFOHEADER结构和两个或更多个RGBQUAD结构所组成。BITMAPINFOHEADER结构所包含的成员表明了图像的尺寸、原始设备的颜色格式、以及数据压缩方案等信息。RGBQUAD结构标识了像素所用到的颜色数据。

      DIB位图也有两种形式,即:底到上型DIB(bottom-up),和顶到下型DIB(top-down)。底到上型DIB的原点(origin)在图像的左下角,而顶到下型DIB的原点在图像的左上角。如果DIB的高度值(由BITMAPINFOHEADER结构中的biHeight成员标识)是一个正值,那么就表明这个DIB是一个底到上型DIB,如果高度值是一个负值,那么它就是一个顶到下型DIB。注意:顶到下型的DIB位图是不能被压缩的。

      位图的颜色格式是通过颜色面板值(planes)和颜色位值(bitcount)计算得来的,颜色面板值永远是1,而颜色位值则可以是1、4、8、16、24、32其中的一个。如果它是1,则表示位图是一张单色位图(译者注:通常是黑白位图,只有黑和白两种颜色,当然它也可以是任意两种指定的颜色),如果它是4,则表示这是一张VGA位图,如果它是8、16、24、或是32,则表示该位图是其他设备所产生的位图。如果应用程序想获取当前显示设备(或打印机)的颜色位值(或称位深度),可调用API函数GetDeviceCaps(),并将第二个参数设为BITSPIXEL即可。

      显示设备的分辨率是以每米多少个像素来表明的,应用程序可以通过以下三个步骤来获取显示设备或打印机的水平分辨率:

      1. 调用GetDeviceCaps()函数,指定第二个参数为HORZRES。

      2. 再次调用GetDeviceCaps()函数,指定第二个参数为HORZSIZE。

      3. 用第一个返回值除以第二个返回值。即:GetDeviceCaps(hDC,HORZRES)/GetDeviceCaps(hDC,HORZSIZE);

      应用程序也可以使用相同的三个步骤来获取设备的垂直分辨率,不同之处只是要将HORZRES替换为VERTRES,把HORZSIZE替换为VERTSIZE,即可。

      调色板是被保存在一个RGBQUAD结构的数组中,该结构指出了每一种颜色的红、绿、蓝的分量值。位数组中的每一个索引都对应于一个调色板项(即一个RGBQUAD结构),应用程序将根据这种对应关系,将像素索引值转换为像素RGB值(真实的像素颜色)。应用程序也可以通过调用GetDeviceCaps()函数来获取当前显示设备的调色板尺寸(将该函数的第二个参数设为NUMCOLORS即可)。

      Win32 API支持位数据的压缩(只对8位和4位的底到上型DIB位图)。压缩方法是采用运行长度编码方案(RLE),RLE使用两个字节来描述一个句法,第一个字节表示重复像素的个数,第二个字节表示重复像素的索引值。有关压缩位图的详细信息请参见对BITMAPINFOHEADER结构的解释。

      应用程序可以从一个DDB位图创建出一个DIB位图,步骤是,先初始化一些必要的结构,然后再调用GetDIBits()函数。不过,有些显示设备有可能不支持这个函数,你可以通过调用GetDeviceCaps()函数来确定一下(GetDeviceCaps()函数在调用时指定RC_DI_BITMAP作为RASTERCAPS的标志)。

      应用程序可以用DIB去设置显示设备上的像素(译者注:也就是显示DIB),方法是调用SetDIBitsToDevice()函数或调用StretchDIBits()函数。同样,有些显示设备也有可能不支持以上这两个函数,这时你可以指定RC_DIBTODEV作为RASTERCAPS标志,然后调用GetDeviceCaps()函数来判断该设备是否支持SetDIBitsToDevice()函数。也可以指定RC_STRETCHDIB作为RASTERCAPS标志来调用GetDeviceCaps()函数,来判断该设备是否支持StretchDIBits()函数。

      如果应用程序只是要简单的显示一个已经存在的DIB位图,那么它只要调用SetDIBitsToDevice()函数就可以。比如一个电子表格软件,它可以打开一个图表文件,在窗口中简单的调用SetDIBitsToDevice()函数,将图形显示在窗口中。但如果应用程序要重复的绘制位图的话,则应该使用BitBlt()函数,因为BitBlt()函数的执行速度要比SetDIBitsToDevice()函数快很多。

      设备相关位图 (Device-Dependent Bitmaps)

      设备相关位图(DDB)之所以现在还被系统支持,只是为了兼容旧的Windows 3.0软件,如果程序员现在要开发一个与位图有关的程序,则应该尽量使用或生成DIB格式的位图。

      DDB位图是被一个单个结构BITMAP所描述,这个结构的成员标明了该位图的宽度、高度、设备的颜色格式等信息。

      DDB位图也有两种类型,即:可废弃的(discardable)DDB和不可废弃的(nondiscardable)DDB。可废弃的DDB位图就是一种当系统内存缺乏,并且该位图也没有被选入设备描述表(DC)的时候,系统就会把该DDB位图从内存中清除(即废弃)。不可废弃的DDB则是无论系统内存多少都不会被系统清除的DDB。API函数CreateDiscardableBitmap()函数可用于创建可废弃位图。而函数CreateBitmap()、CreateCompatibleBitmap()、和CreateBitmapIndirect()可用于创建不可废弃的位图。

      应用程序可以通过一个DIB位图而创建一个DDB位图,只要先初始化一些必要的结构,然后再调用CreateDIBitmap()函数就可以。如果在调用该函数时指定了CBM_INIT标志,那么这一次调用就等价于先调用CreateCompatibleBitmap()创建当前设备格式的DDB位图,然后又调用SetDIBits()函数转换DIB格式到DDB格式。(可能有些设备并不支持SetDIBits()函数,你可以指定RC_DI_BITMAP作为RASTERCAPS的标志,然后调用GetDeviceCaps()函数来判断一下)。

      对应的数据结构:

      1:BMP文件组成 

      BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。 

      2:BMP文件头(14字节)

      BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。 

      其结构定义如下: 

      typedef struct tagBITMAPFILEHEADER

      {

      WORD bfType; // 位图文件的类型,必须为BM(0-1字节)

      DWORD bfSize; // 位图文件的大小,以字节为单位(2-5字节)

      WORD bfReserved1; // 位图文件保留字,必须为0(6-7字节)

      WORD bfReserved2; // 位图文件保留字,必须为0(8-9字节)

      DWORD bfOffBits; // 位图数据的起始位置,以相对于位图(10-13字节)

      // 文件头的偏移量表示,以字节为单位

      } BITMAPFILEHEADER;

      3:位图信息头(40字节)

      BMP位图信息头数据用于说明位图的尺寸等信息。

      typedef struct tagBITMAPINFOHEADER{

      DWORD biSize; // 本结构所占用字节数(14-17字节)

      LONG biWidth; // 位图的宽度,以像素为单位(18-21字节)

      LONG biHeight; // 位图的高度,以像素为单位(22-25字节)

      WORD biPlanes; // 目标设备的级别,必须为1(26-27字节)

      WORD biBitCount;// 每个像素所需的位数,必须是1(双色),(28-29字节)

      // 4(16色),8(256色)或24(真彩色)之一

      DWORD biCompression; // 位图压缩类型,必须是 0(不压缩),(30-33字节)

      // 1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一

      DWORD biSizeImage; // 位图的大小,以字节为单位(34-37字节)

      LONG biXPelsPerMeter; // 位图水平分辨率,每米像素数(38-41字节)

      LONG biYPelsPerMeter; // 位图垂直分辨率,每米像素数(42-45字节)

      DWORD biClrUsed;// 位图实际使用的颜色表中的颜色数(46-49字节)

      DWORD biClrImportant;// 位图显示过程中重要的颜色数(50-53字节)

      } BITMAPINFOHEADER;

      4:颜色表 

      颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色。RGBQUAD结构的定义如下: 

      typedef struct tagRGBQUAD {

      BYTE rgbBlue;// 蓝色的亮度(值范围为0-255)

      BYTE rgbGreen; // 绿色的亮度(值范围为0-255)

      BYTE rgbRed; // 红色的亮度(值范围为0-255)

      BYTE rgbReserved;// 保留,必须为0

      } RGBQUAD;

      颜色表中RGBQUAD结构数据的个数有biBitCount来确定:

      当biBitCount=1,4,8时,分别有2,16,256个表项;

      当biBitCount=24时,没有颜色表项。

      位图信息头和颜色表组成位图信息,BITMAPINFO结构定义如下:

      typedef struct tagBITMAPINFO {

      BITMAPINFOHEADER bmiHeader; // 位图信息头

      RGBQUAD bmiColors[1]; // 颜色表

      } BITMAPINFO;

      5:位图数据 

      位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上。位图的一个像素值所占的字节数: 

      当biBitCount=1时,8个像素占1个字节;

      当biBitCount=4时,2个像素占1个字节;

      当biBitCount=8时,1个像素占1个字节;

      当biBitCount=24时,1个像素占3个字节;

      Windows规定一个扫描行所占的字节数必须是

      4的倍数(即以long为单位),不足的以0填充,

      biSizeImage = ((((bi.biWidth * bi.biBitCount) + 31) & ~31) / 8) * bi.biHeight; 

      具体数据举例:

      如某BMP文件开头:

      4D42 4690 0000 0000 0000 4600 0000 2800 0000 8000 0000 9000 0000 0100*1000 0300 0000 0090 0000 A00F 0000 A00F 0000 0000 0000 0000 0000*00F8 0000 E007 0000 1F00 0000 0000 0000*02F1 84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2 .... ....

      BMP文件可分为四个部分:位图文件头、位图信息头、彩色板、图像数据阵列,在上图中已用*分隔。 

      一、图像文件头 

      1)1:(这里的数字代表的是"字",即两个字节,下同)图像文件头。0x4D42=’BM’,表示是Windows支持的BMP格式。 

      2)2-3:整个文件大小。4690 0000,为00009046h=36934。 

      3)4-5:保留,必须设置为0。 

      4)6-7:从文件开始到位图数据之间的偏移量。4600 0000,为00000046h=70,上面的文件头就是35字=70字节。 

      二、位图信息头

      5)8-9:位图图信息头长度。 

      6)10-11:位图宽度,以像素为单位。8000 0000,为00000080h=128。 

      7)12-13:位图高度,以像素为单位。9000 0000,为00000090h=144。 

      8)14:位图的位面数,该值总是1。0100,为0001h=1。 

      9)15:每个像素的位数。有1(单色),4(16色),8(256色),16(64K色,高彩色),24(16M色,真彩色),32(4096M色,增强型真彩色)。1000为0010h=16。 

      10)16-17:压缩说明:有0(不压缩),1(RLE 8,8位RLE压缩),2(RLE 4,4位RLE压缩,3(Bitfields,位域存放)。RLE简单地说是采用像素数+像素值的方式进行压缩。T408采用的是位域存放方式,用两个字节表示一个像素,位域分配为r5b6g5。图中0300 0000为00000003h=3。 

      11)18-19:用字节数表示的位图数据的大小,该数必须是4的倍数,数值上等于(≥位图宽度的最小的4的倍数)×位图高度×每个像素位数。0090 0000为00009000h=80×90×2h=36864。 

      12)20-21:用象素/米表示的水平分辨率。A00F 0000为0000 0FA0h=4000。 

      13)22-23:用象素/米表示的垂直分辨率。A00F 0000为0000 0FA0h=4000。 

      14)24-25:位图使用的颜色索引数。设为0的话,则说明使用所有调色板项。 

      15)26-27:对图象显示有重要影响的颜色索引的数目。如果是0,表示都重要。 

      三、彩色板 

      16)28-....(不确定):彩色板规范。对于调色板中的每个表项,用下述方法来描述RGB的值: 

      1字节用于蓝色分量 

      1字节用于绿色分量 

      1字节用于红色分量 

      1字节用于填充符(设置为0) 

      对于24-位真彩色图像就不使用彩色板,因为位图中的RGB值就代表了每个象素的颜色。 

      如,彩色板为00F8 0000 E007 0000 1F00 0000 0000 0000,其中: 

      00FB 0000为FB00h=1111100000000000(二进制),是蓝色分量的掩码。 

      E007 0000为 07E0h=0000011111100000(二进制),是绿色分量的掩码。 

      1F00 0000为001Fh=0000000000011111(二进制),是红色分量的掩码。 

      0000 0000总设置为0。 

      将掩码跟像素值进行“与”运算再进行移位操作就可以得到各色分量值。看看掩码,就可以明白事实上在每个像素值的两个字节16位中,按从高到低取5、6、5位分别就是r、g、b分量值。取出分量值后把r、g、b值分别乘以8、4、8就可以补齐第个分量为一个字节,再把这三个字节按rgb组合,放入存储器(同样要反序),就可以转换为24位标准BMP格式了。

      四、图像数据阵列 

      17)27(无调色板)-...:每两个字节表示一个像素。阵列中的第一个字节表示位图左下角的象素,而最后一个字节表示位图右上角的象素。

      五、存储算法

      BMP文件通常是不压缩的,所以它们通常比同一幅图像的压缩图像文件格式要大很多。例如,一个800×600的24位几乎占据1.4MB空间。因此它们通常不适合在因特网或者其它低速或者有容量限制的媒介上进行传输。 根据颜色深度的不同,图像上的一个像素可以用一个或者多个字节表示,它由n/8所确定(n是位深度,1字节包含8个数据位)。图片浏览器等基于字节的ASCII值计算像素的颜色,然后从调色板中读出相应的值。更为详细的信息请参阅下面关于位图文件的部分。 n位2n种颜色的位图近似字节数可以用下面的公式计算: BMP文件大小约等于 54+4*2的n次方+(w*h*n)/8,其中高度和宽度都是像素数。 需要注意的是上面公式中的54是位图文件的文件头,是彩色调色板的大小。另外需要注意的是这是一个近似值,对于n位的位图图像来说,尽管可能有最多2n中颜色,一个特定的图像可能并不会使用这些所有的颜色。由于彩色调色板仅仅定义了图像所用的颜色,所以实际的彩色调色板将小于。 如果想知道这些值是如何得到的,请参考下面文件格式的部分。 由于存储算法本身决定的因素,根据几个图像参数的不同计算出的大小与实际的文件大小将会有一些细小的差别。

     

    数组的每个元素就是像素

    根据格式不同8位、16位、32位,分别是1个字节BYTE,1个字WORD,1个双字DWORD

    数组的宽高就是 图像像素的横向、纵向的个数,

    为了硬件加速,比如32位CPU 通常要求数组的边界按双字对齐

    展开全文
  • Windows位图文件格式

    2011-06-21 15:40:00
    Windows位图文件格式 位图概述位图格式位图文件头结构包含关于类型,大小以及与设备无关的文件层。typedef struct tagBITMAPFILEHEADER { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; ...
  • 位图、矢量图是什么?这两种图形在设计工作中非常重要,因为制图结果会直接影响打印(喷绘)质量的精细度。位图和矢量图什么区别呢?简单的说,位图与矢量图最大的区别就是放大后...1、位图概念:位图图像(bitmap),...
  • bmp位图格式

    千次阅读 2011-10-11 17:39:15
    位图文件是分成4部分的。第一部分是位图文件头,它包括位图文件类型,位图的大小和位图数据...最后面是位图图像的数据。 一、位图结构如下:  一、BMP文件结构 1. BMP文件组成  BMP文件由文件头、位图信息头
  • BMP位图文件格式分析今天实验课主要要做BMP格式的文件解析...BMP文件格式由文件头,位图信息段,调色板信息(如果的话),位图数据RGB像素或索引数据组成 由此,可以知道位图文件的代码可以这么表示:typedef struct
  • 256色位图图像

    千次下载 热门讨论 2008-03-18 17:01:58
    a.bmp 256色位图图像
  • 位图图像和矢量图像

    千次阅读 2019-02-01 10:10:00
    位图图像质量是由单位长度内像素的多少来决定的。单位长度内像素越多,分辨率越高,图像的效果越好。位图也称为“位图图像”“点阵图像”“数据图像”“数码图像”。 矢量图,也称为面向对象的图像...
  • 位图格式详解

    千次阅读 2013-07-03 09:06:24
    位图格式 BMP是bitmap的缩写形式,bitmap顾名思义,就是位图也即Windows位图。它一般由4部分组成:文件头信息块、图像描述信息块、颜色表(在真彩色模式无颜色表)和图像数据区组成。在系统中以BMP为扩展名保存。  ...
  • bmp位图文件格式

    2008-05-05 16:27:00
    BMP 格式支持 RGB、索引颜色、灰度和位图颜色模式。可以为图像指定 Windows 或 OS/2? 格式和位深度。对于使用 Windows 格式的 4 位和 8 位图像,还可以指定 RLE 压缩。 BMP 图像通常是自下而上编写出;但您也可以...
  • 位图图像基础

    千次阅读 2015-10-16 16:06:31
    一、图像的分类:根据图想记录方式的不同,分为模拟图像和数字图像。模拟图像是吐过某种物理量的强弱变化来记录图像各点的亮度信息。数字图像完全用数字来记录图像亮度信息。...1、灰度图像只有亮度信息,么
  • 用C++开发位图格式图像应用程序(2) 全文
  • 位图格式解析

    千次阅读 2010-05-19 17:16:00
    BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在...Windows 3.0以前的BMP图文件格式与显示设备有关,因此把这种BMP图象文件格式称为设备相关位图DDB(device-dependent bitmap)文件格式。Windows 3.0以后
  • 压缩文件提供: 1. bmp位图文件详细格式分析; 2. bmp位图文件打开,读取功能; 3. bmp位图文件写入,保存功能; 4. bmp位图文件显示到指定控件(如,picture控件上);
  • 位图格式信息 位图BITMAPINFOHEADER 与BITMAPFILEHEADER: 先来看BITMAPINFOHEADER,只写几个主要的  biSize包含的是这个结构体的大小(包括颜色表)  biWidth和biHeight分别是图片的长宽  biPlanes是目标...
  • BMP位图格式详解

    2012-01-16 11:28:38
    查了半天,才发现位图有一个行的字节数必须是4的整数倍的死规定,nnd  列举图片:C:/WINDOWS/Blue Lace 16.bmp 位图文件头的格式: typedef struct{ int bfType;//bfType(2字节),这里恒定等于&H4D42,ASCII...
  • BMP是一种常见的图片格式,它由4部分组成,分别为位图文件头、位图信息头、调色板和图像数据。位图文件头的数据结构及其描述说明如下: typedef struct tagBITMAPFILEHEADER { WORD bfType; DWORD bfSize; ...
  • 几种位图文件格式

    千次阅读 2004-10-27 15:01:00
    bmp文件 bmp(bitmap的缩写)文件格式是windows本身的位图文件格式,所谓本身是指windows内部存储位图即采用这种格式。一个.bmp格式的文件通常.bmp的扩展名,但一些是以.rle为扩展名的,rle的意思是行程长度编码...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 90,373
精华内容 36,149
关键字:

属于位图的图像格式有