极语言官方网站

位图设备

位图是可在DC(设备上下文)中选择的GDI对象之一。

设备上下文是定义一组图形对象及其关联属性以及影响输出的图形模式的结构。

位图分为两类:设备无关的位图(DIB)和设备依赖位图(DDB)

DIB 文件格式旨在确保使用一个应用程序创建的位图图形可以加载并显示在另一个应用程序中,

同时保留与原始应用程序相同的外观。

与设备无关的位图 (DIB) 包含颜色表。

颜色表描述像素值与RGB颜色值的对应方式,这些值描述由发射光产生的颜色。

因此DIB可以在任何设备上实现正确的配色方案。DIB包含以下颜色和维度信息:

创建矩形图像的设备的颜色格式。

创建矩形图像的设备分辨率。

创建映像的设备的调色板。

将红色、绿色、蓝色 ( RGB ) 三元元素映射到矩形图像中的像素的位数组。

一个数据压缩标识符,指示 (使用任何) 来减小位数组大小的数据压缩方案。

颜色和维度信息存储在 位图信息类 结构中,该结构由 位图信息头类 结构组成,后跟两个或多个 色度类 结构。

位图信息头类 结构指定像素矩形的尺寸,描述设备的颜色技术,并标识用于减小位图大小的压缩方案。

色度类 结构标识像素矩形中显示的颜色。

DIB 有两种:自下而上的 DIB,其中原点位于左下角。自上而下的 DIB,其中原点位于左上角。

如果 DIB 的高度(如位图信息标头结构的 高度 成员所指示)为正值,则为自下而上的 DIB;

如果高度为负值,则为自上而下的 DIB。 无法压缩自上而下的 DDB。

颜色格式根据颜色平面和颜色位的计数指定。

颜色平面的计数始终为 1;对于单色位图,颜色位的计数为 1,VGA 位图为 4,其他颜色设备上的位图为 8、16、24 或 32。

应用程序通过调用 设备项目 函数检索特定显示器 (或打印机) 使用的颜色位数,并将 BITSPIXEL 指定为第二个参数。

调色板由 色度类 结构数组表示,这些结构指定显示设备调色板中每种颜色的红色、绿色和蓝色强度分量。

调色板数组中的每个颜色索引映射到与位图关联的矩形区域中的特定像素。

此数组的大小(以位为单位)等效于矩形的宽度(以像素为单位),乘以矩形的高度(以像素为单位)再乘以设备的颜色位计数。

应用程序可以通过调用 设备项目 函数来检索设备调色板的大小。

Windows 支持压缩 8 bpp 和 4 bpp 自下而上 DDB 的调色板数组。

可以使用运行长度编码 (RLE) 方案压缩这些数组。

RLE 方案使用 2 字节值,第一个字节指定使用颜色索引的连续像素数,第二个字节指定索引。

应用程序可以通过初始化所需的结构并调用 设备位图 函数,从 DDB 创建 DIB。

若要确定设备是否支持此函数,请调用 设备项目 函数,并将RC_DI_BITMAP指定为 RASTERCAPS 标志。

需要复制位图的应用程序可以使用 透明传输 将源位图中的所有像素复制到目标位图,但那些与透明颜色匹配的像素除外。

应用程序可以通过调用 指定像素 或 拉伸传输 函数,使用 DIB 在显示设备上设置像素。

若要确定设备是否支持 指定像素 函数,请调用 设备项目 函数。

设备依赖位图(也称为 GDI 位图)是 Microsoft Windows 16位DOS系统中唯一可用的位图。

随着显示技术的改进和各种可用显示设备的增加,某些固有问题浮出水面,只能通过 DIB 来解决。

因此绘图应用程序无法快速确定位图是否适用于运行应用程序的视频显示设备类型。

尽管存在这些问题,但 DDB (也称为兼容位图) 仍可用于更好的 GDI 性能和其他情况。

兼容位图使用单一结构(位图类)描述设备相关的位图 (DB) 。

此结构的成员指定矩形区域的宽度和高度;将设备调色板中的条目映射到像素的数组的宽度;和设备的颜色格式。

应用程序可以通过调用 设备项目 函数并指定适当的常量来检索设备的颜色格式。

请注意,DDB 不包含颜色值;相反,颜色采用与设备相关的格式。 有关详细信息,请参阅 位图中的颜色。

由于每个设备都可以有自己的一组颜色,因此为一个设备创建的 DDB 可能无法在不同的设备上很好地显示。


位图类
中文名字英文名称长度作用解释
位图类BITMAP24包含了位图数据的结构
位图类——成员表
分类bmType整数位图类型,其值必须为0
宽度bmWidth整数位图的宽度,单位为像素
高度bmHeight整数位图的高度,单位为像素
长度bmWidthBytes整数每行的字节数,其值必须能被2整除。
层数bmPlanes整形颜色平面数,一般为1。
位数bmBitsPixel整形位图的位深度,一般为24或32
数据bmBits整数一个指向内存的指针,所指向的内容为位图存放的地方

位图标头类
中文名字英文名称长度作用解释
位图标头类BITMAPCOREHEADER12包含了位图数据的标头信息
位图标头类——成员表
长度bcSize整数结构体的字节数,12
宽度bcWidth整形位图的宽度,单位为像素
高度bcHeight整形位图的高度,单位为像素
层数bcPlanes整形颜色平面数,一般为1。
位数bcBitCount整形位图的位深度,1, 4, 8, 24或32

位图文件类
中文名字英文名称长度作用解释
位图文件类BITMAPCOREHEADER14包含了位图文件的头部信息
位图文件类——成员表
分类bfType整形图片的类型,只能是BM
长度bfSize整数宽*高*位数+偏移
预留bfReserved1整数无效信息
偏移bfOffBits整数位图数据的偏移量。

位图信息头类
中文名字英文名称长度作用解释
位图信息头类BITMAPINFOHEADER40包含了位图信息的结构
位图信息头类——成员表
长度biSize整数指定这个结构的长度,为40
宽度biWidth整数位图的宽度,单位为像素
高度biHeight整数位图的高度,单位为像素
层数biPlanes整形颜色平面数,一般为1。
位数biBitCount整形位图的位深度,1, 4, 8, 24或32
压缩biCompression整数指定位图是否压缩,有效的值为BI_RGB,BI_RLE8,BI_RLE4,BI_BITFIELDS
大小biSizeImage整数指定实际的位图数据占用的字节数
水平像素biXPelsPerMeter整数指定目标设备的水平分辨率
垂直像素biYPelsPerMeter整数指定目标设备的垂直分辨率
实际颜色biClrUsed整数指定本图象实际用到的颜色数,0表示颜色数为2
重要颜色biClrImportant整数指定本图象中重要的颜色数,0表示全部颜色。

色度类
中文名字英文名称长度作用解释
色度类RGBQUAD4描述了由红色,绿色和蓝色的相对强度组成的颜色。
色度类——成员表
蓝度rgbBlue字节绿色强度值。
绿度rgbGreen字节绿色强度值。
红度rgbRed字节红色强度值。
预留rgbReserved字节预留,必须是0

位图信息类
中文名字英文名称长度作用解释
位图信息类BITMAPINFO44+定义 DIB 的尺寸和颜色信息。
位图类——成员表
信息头bmiHeader位图信息头类一个 位图信息头类 结构,其中包含有关颜色格式维度的信息。
颜色组bmiColors[1]色度类构成颜色表的色度类数组或者一个由16位正数数组,指定当前实现的逻辑调色板中的索引。

中文名称英文名称示例作用
位图函数
位图传输BitBlt位图传输(目标,左,顶,宽,高,源设备,源X,源Y,光栅)该函数对指定的源设备环境区域中的像素进行位块传输
创建位图CreateBitmap创建位图(宽度,高度,色面,色位,数据)创建一个具有指定宽度,高度和颜色格式(每个像素的颜色平面和位)的位图。
新建位图CreateBitmapIndirect位图=新建位图(位图类)通过位图结构创建一个具有指定宽度,高度和颜色格式(每个像素的颜色平面和位)的位图。
创建图像CreateCompatibleBitmap创建图像(设备,宽度,高度)创建与与指定设备参数标识的颜色格式兼容的位图。
内建位图CreateDIBSection内建位图(设备,位图信息,颜色索引,位图,映射,偏移)创建一个与设备无关的位图(DIB内图),应用程序可以直接写入。
关联位图CreateDIBitmap关联位图(设备,格式,标志,数据,位色,使用)从与设备无关的位图(DIB)创建与设备相关的位图(DDB)
兼容位图CreateDiscardableBitmap图像=兼容位图(设备,宽度,高度)创建与指定设备兼容的位图,具有与设备一样的位/像素格式和颜色调色板
填充表层ExtFloodFill填充表层(设备,左,上,填色,方式)使用当前画笔填充显示表面的一个区域。
填充表面FloodFill填充表面(设备,左,上,填色)使用当前画笔填充显示表面的一个区域。
透明混合GdiAlphaBlend透明混合(目标,左,顶,宽,高,源,左,顶,宽,高,混合)显示具有透明或半透明像素的位图。混合类
渐变填充GdiGradientFill渐变填充(设备,顶点组,顶点数,网格,数量,模式)指定顶点数组填充矩形三角形网格结构。渐变填充模式
掩码传输MaskBlt掩码传输(目标,左,顶,宽,高,源,左,顶,掩码图,左偏,上偏,光栅)使用指定的单色掩码位图(及偏移量)和光栅操作合并源位图和目标位图的颜色数据。光栅定义
方点传输PlgBlt方点传输(目标,三点,源,左,顶,宽,高,掩码图,左偏,上偏)执行颜色数据位从源设备的矩形到目标设备平行四边形三个顶点的位块传输。
位图数据GetBitmapBits位图数据(图片,长度,@数据)将指定与设备相关的位图的位图位复制到缓冲区中。
数据位图SetBitmapBits数据位图(图片,长度,数据)将位图的颜色数据位设置为指定的值。
取图宽高GetBitmapDimensionEx取图宽高(图像,尺寸类)获取位图的宽高尺寸
改图宽高SetBitmapDimensionEx改图宽高(图像,宽,高,旧尺寸)设置位图的宽高新尺寸
取颜色表GetDIBColorTable取颜色表(设备,序号,条目,数组)从当前在指定设备位图的颜色表中的一系列条目中检索颜色值。
改颜色表SetDIBColorTable改颜色表(设备,序号,条目,数组)将当前选择的DIB颜色表中的一系列颜色值数组设置为指定的设备中。
设备位图GetDIBits设备位图(设备,位图,首行,行数,@数据,@信息,格式)检索指定兼容位图的位,并使用指定的格式将它们作为 DIB 复制到缓冲区或信息结构中。格式:0=RGB,1=索引
设置像素SetDIBits设置像素(设备,位图,起始行,行数,数据,信息,格式)在指定的DIB中找到的颜色数据和信息设置兼容位图(DDB)中的像素。格式:0=RGB,1=索引
指定像素SetDIBitsToDevice指定像素(设备,左,顶,宽,高,源左,源上,起始行,行数,色组,像素,索引)使用源图像设备指定位置与目标设备指定矩形中的像素。索引:0=RGB颜色,1索引颜色
获取颜色GetPixel颜色=获取颜色(设备,x,y)获取设备指定坐标处像素的颜色值。
设置颜色SetPixel设置颜色(设备,x,y,颜色)设置设备指定坐标处像素的颜色值。
拉伸模式GetStretchBltMode模式=拉伸模式(设备)获取指定设备的拉伸模式
模式拉伸SetStretchBltMode模式拉伸(设备,模式)设置指定设备的拉伸模式
伸缩传输StretchBlt伸缩传输(目标,左,顶,宽,高,源,左,顶,宽,高,光栅)将位图从源矩形拉伸或压缩复制到目标矩形中,以适合尺寸。光栅定义
拉伸传输StretchDIBits拉伸传输(目标,左,顶,宽,高,左,顶,宽,高,位数,信息,色型,光栅)将图像中像素矩形的颜色数据拉伸或压缩复制到指定的目标矩形。信息; 色型:0=RGB,1=索引
透明传输TransparentBlt透明传输(设备,左,顶,宽,高,源设备,源,左,顶,宽,高,透明色)将对应于像素矩形的颜色数据从指定的源设备上下文传输到目标设备上下文中。
设备函数
取消挂起CancelDC取消挂起(设备)取消指定设备上下文上的任何挂起操作。
创建设备CreateCompatibleDC设备=创建设备(设备)创建与指定设备兼容的内存设备。只能用于支持栅格操作的设备
驱动设备CreateDCA设备=驱动设备(驱动名,设备名,0,驱动)通过使用指定的名称创建驱动设备
删除设备DeleteDC删除设备(设备)删除指定的设备
驱动信息CreateICA驱动=驱动信息(驱动名,设备名,端口或文件名,驱动)获取有关设备的信息而不创建设备
删除对象DeleteObject删除对象(对象)删除逻辑笔,画笔,字体,位图,区域或调色板,释放与对象相关联的所有系统资源。
视频绘图DrawEscape视频绘图(设备,转义函数,长度,数据)将数据直接发至显示设备,访问通过图形设备界面(GDI)无法直接使用的视频显示的绘图功能。
枚举对象EnumObjects枚举对象(设备,强元,@回调,数据,矩形)枚举可用于指定设备上下文的笔或画笔。直到所有对象都被枚举为止。
设备转码Escape设备转码(设备,转码,长度,输入,输出)访问不能通过GDI直接使用的特定设备的功能。
扩展转码ExtEscape扩展转码(设备,转码,长度,输入,长度,输出)允许应用程序访问通过GDI不可用的特定设备的功能。
当前对象GetCurrentObject设备=当前对象(设备,类型)返回指定类型的当前选定对象。类型有1画笔,2笔刷,5色板,6字体,7位图,14颜色空间
设备项目GetDeviceCaps设备项目(设备,项目)检索指定设备的特定于设备项目的信息。
设备起点GetDCOrgEx设备起点(设备,坐标)获取指定设备的最终转换起始点。
获得对象GetObjectA获得对象(图像,长度,@数据)获取图形对象的信息 位图类 画笔类 笔刷类 色板类 逻辑字体类 扩展笔类
对象类型GetObjectType图型=对象类型(图形对象)获取图形对象的类型
获取布局GetLayout布局=获取布局(设备)获取指定设备的当前布局。1从右到左,2位图传输,4LAYOUT_VBH
设置布局SetLayout设置布局(设备,布局)设置指定设备的当前布局。1从右到左,8位图传输禁用任何反射
固有对象GetStockObject对象=固有对象(类型)获取一个常用笔、画笔、字体或调色板的句柄。常用对象类型
复位设备ResetDCA复位设备(设备,信息)使用指定的信息更新指定的打印机或绘图仪设备
恢复设备RestoreDC恢复设备(设备,状态)通过从先前调用 "保存设备"得到的状态信息来恢复设备,-1是恢复到最近状态
保存设备SaveDC状态=保存设备(设备)将选定对象和图形模式的数据复制到堆栈来保存指定设备的当前状态。
选择对象SelectObject选择对象(设备,对象)在指定的设备中选择一个新对象。包括位图,笔刷,字体,画笔,区域等

枚举对象回调
中文名字英文名称参数作用解释
枚举对象回调EnumObjectsProc2用于处理对象数据。返回0停止枚举
枚举对象回调——成员表
参数lpLogObject整数指向描述对象属性的 画笔类笔刷类 结构的指针。
数据lpData整数传递的应用程序定义数据的指针。

设备对象类型
英文名称数值作用解释
OBJ_PEN1    
OBJ_BRUSH2Brush
OBJ_DC3设备上下文
OBJ_METADC4图元文件 DC
OBJ_PAL5调色板
OBJ_FONT6字体
OBJ_BITMAP7Bitmap
OBJ_REGION8区域
OBJ_METAFILE9Metafile
OBJ_MEMDC10内存 DC
OBJ_EXTPEN11扩展笔
OBJ_ENHMETADC12增强型图元文件 DC
OBJ_ENHMETAFILE13增强型图元文件
OBJ_COLORSPACE14颜色空间

常用对象类型
英文名称数值作用解释
WHITE_BRUSH0    白色画刷。
LTGRAY_BRUSH1浅灰色画刷。
GRAY_BRUSH2灰色画刷。
DKGRAY_BRUSH3深灰色画刷。
BLACK_BRUSH4黑色画刷。
NULL_BRUSH5空画刷
HOLLOW_BRUSH5空心画刷 。
WHITE_PEN6白色触笔。
BLACK_PEN7黑色触笔。
NULL_PEN8空触控笔不绘制任何内容。
OEM_FIXED_FONT10原始设备制造商 (OEM) 依赖固定间距 (正方形) 字体。
ANSI_FIXED_FONT11Windows 固定间距 (正) 系统字体。
ANSI_VAR_FONT12Windows 可变间距 (比例空间) 系统字体。
SYSTEM_FONT13系统字体。 默认情况下,系统使用系统字体来绘制菜单、对话框控件和文本。不建议使用。默认系统字体为 Tahoma。
DEVICE_DEFAULT_FONT14设备依赖字体。
DEFAULT_PALETTE15默认调色板。 此调色板由系统调色板中的静态颜色组成。
DEFAULT_GUI_FONT17用户界面对象(如菜单和对话框)的默认字体。不建议使用。默认字体为 Tahoma。
SYSTEM_FIXED_FONT16固定间距 (单调) 系统字体。 此库存对象仅用于与 3.0 之前的 16 位 Windows 版本兼容。
DC_BRUSH18纯色画笔。 默认颜色为白色。 可以使用 改笔刷色 函数更改颜色。
DC_PEN19纯色笔颜色。 默认颜色为黑色。 可以使用 改画笔色 函数更改颜色。

设备项值
英文名称数值作用解释
DRIVERVERSION0    设备驱动程序版本。
TECHNOLOGY2设备技术。返回定义:0矢量绘图仪;1光栅显示;2光栅打印机;3光栅相机;4字符流;5图元文件;6显示文件
HORZSIZE4物理屏幕的宽度(以毫米为单位)。
VERTSIZE6物理屏幕的高度(以毫米为单位)。
HORZRES8屏幕的宽度(以像素为单位);或 ,对于打印机,页面可打印区域的宽度(以像素为单位)。
VERTRES10屏幕的高度(以光栅线为单位);对于打印机,页面可打印区域的高度(以像素为单位)。
BITSPIXEL12每个像素的相邻颜色位数。
PLANES14颜色平面数。
NUMBRUSHES16特定于设备的画笔数。
NUMPENS18特定于设备的笔数。
NUMMARKERS20特定于设备的标记数。
NUMFONTS22特定于设备的字体数。
NUMCOLORS24设备颜色表中的条目数(如果设备的颜色深度不超过每像素 8 位)。 对于颜色深度更大的设备,返回 -1。
PDEVICESIZE26保留。
CURVECAPS28指示设备的曲线功能的值。0设备不支持曲线。1设备可以绘制圆圈。2设备可以绘制饼楔。4设备可以绘制弦弧。8设备可以绘制省略号。16设备可以绘制宽边框。32设备可以绘制样式边框。64设备可以绘制宽度和样式的边框。128设备可以绘制内部。256设备可以绘制圆角矩形。
LINECAPS30指示设备的线路功能的值,0设备不支持行。2设备可以绘制折线。4设备可以绘制标记。8设备可以绘制多个标记。16设备可以绘制宽线。32设备可以绘制带样式的线条。64设备可以绘制宽度和样式的线条。128设备可以绘制内部。
POLYGONALCAPS32指示设备的多边形功能的值,0设备不支持多边形。1设备可以绘制交替填充多边形。2设备可以绘制矩形。4设备可以绘制绕组填充多边形。8设备可以绘制单个扫描线。16设备可以绘制宽边框。32设备可以绘制样式边框。64设备可以绘制宽度和样式的边框。128设备可以绘制内部。
TEXTCAPS34指示设备的文本功能的值,1设备能够进行字符输出精度。2设备能够进行笔划输出精度。4设备能够进行笔划剪辑精度。8设备能够进行 90 度字符旋转。0x10设备能够进行任何字符轮换。0x20设备可以在 x 方向和 y 方向上独立缩放。0x40设备能够使用双倍字符进行缩放。0x80设备仅对字符缩放使用整数倍数。0x100设备使用任意倍数进行精确的字符缩放。0x200设备可以绘制双重字符。0x400设备可以斜体化。0x800设备可以下划线。0x1000设备可以绘制删除线。0x2000设备可以绘制光栅字体。0x4000设备可以绘制矢量字体。0x8000保留;必须为零。0x10000设备无法使用位块传输进行滚动。请注意,此含义可能与预期相反。
CLIPCAPS36指示设备的剪辑功能的标志。 如果设备可以剪辑为矩形,则为 1。 否则为 0。
RASTERCAPS38指示设备的光栅功能的值。1能够传输位图。2需要条带支持。4支持大于64KB的位图。8能够缩放。0x80能够支持 设置像素 和 设备位图 函数。0x100指定基于调色板的设备。0x200能够支持 指定像素 函数。0x800能够执行 伸缩传输 函数。0x1000能够执行洪水填充。0x2000能够执行 拉伸传输 函数。
ASPECTX40用于线条绘制的设备像素的相对宽度。
ASPECTY42用于线条绘制的设备像素的相对高度。
ASPECTXY44用于线条绘制的设备像素的对角宽度。
SIZEPALETTE104系统调色板中的条目数。仅当设备驱动程序在 RASTERCAPS 索引中设置RC_PALETTE位时,此索引才有效,并且仅当驱动程序与 16 位 Windows 兼容时才可用。
NUMRESERVED106系统调色板中的保留条目数。 仅当设备驱动程序在 RASTERCAPS 索引中设置RC_PALETTE位时,此索引才有效,并且仅当驱动程序与 16 位 Windows 兼容时才可用。
COLORRES108设备的实际颜色分辨率(以每像素位数为单位)。 仅当设备驱动程序在 RASTERCAPS 索引中设置RC_PALETTE位时,此索引才有效,并且仅当驱动程序与 16 位 Windows 兼容时才可用。
PHYSICALWIDTH110对于打印设备:物理页面的宽度(以设备单位为单位)。 例如,设置为在 8.5-x11 英寸纸张上以 600 dpi 打印的打印机的物理宽度值为 5100 设备单位。 请注意,物理页面几乎总是大于页面的可打印区域,并且永远不会更小。
PHYSICALHEIGHT111对于打印设备:物理页面的高度(以设备单位为单位)。 例如,设置为在 8.5 by-11 英寸纸张上以 600 dpi 打印的打印机的物理高度值为 6600 设备单位。 请注意,物理页面几乎总是大于页面的可打印区域,并且永远不会更小。
PHYSICALOFFSETX112对于打印设备:从物理页面的左边缘到可打印区域的左边缘的距离(以设备单位为单位)。 例如,设置为在 8.5 乘 11 英寸纸张上以 600 dpi 打印的打印机无法在最左侧的 0.25 英寸纸张上打印,其水平物理偏移量为 150 台设备单位。
PHYSICALOFFSETY113对于打印设备:从物理页面的上边缘到可打印区域的上边缘的距离(以设备单位为单位)。 例如,设置为在 8.5x11 英寸纸张上以 600 dpi 打印的打印机无法在最顶层 0.5 英寸的纸张上打印,其垂直物理偏移量为 300 个设备单位。
VREFRESH116对于显示设备:设备的当前垂直刷新率,以每秒周期 (Hz) 。垂直刷新率值为 0 或 1 表示显示硬件的默认刷新率。 此默认速率通常由显示卡或计算机主板上的开关设置,或者由不使用显示功能(如 ChangeDisplaySettings)的配置程序设置。
SCALINGFACTORX114打印机 x 轴的缩放因子。
SCALINGFACTORY115打印机的 y 轴比例系数。
BLTALIGNMENT119首选水平绘制对齐方式,表示为像素的倍数。 为了获得最佳绘制性能,窗口应水平对齐到此值的倍数。 值为零表示设备已加速,并且可以使用任何对齐方式。
SHADEBLENDCAPS120指示设备的着色和混合功能的值。
COLORMGMTCAPS121指示设备的颜色管理功能的值。CM_CMYK_COLOR 设备可以接受 CMYK 颜色空间 ICC 颜色配置文件。0设备不支持 ICM。1设备可以在设备驱动程序或设备本身上执行 ICM。2设备支持 取伽玛斜 和 改伽玛斜

光栅定义
中文名英文名数值作用
黑调色板BLACKNESS$00000042使用与物理调色板中的0号颜色(黑色)填充目标矩形。
白调色板WHITENESS$00FF0062使用与物理调色板中的1号颜色(白色)填充目标矩形。
合并图层CAPTUREBLT$40000000在生成的图像中包括分层在窗口顶部的任何窗口。
反转图形DSTINVERT$00550009反转目标矩形。
合并复制MERGECOPY$00C000CA使用布尔 AND 运算符将源矩形的颜色与当前在目标设备中选择的画笔合并。
反色合并MERGEPAINT$00BB0226使用布尔 OR 运算符将反转源矩形的颜色与目标矩形的颜色合并。
防止镜像NOMIRRORBITMAP$80000000防止对位图进行镜像。
反转复制NOTSRCCOPY$00330008将反转的源矩形复制到目标。
反色混合NOTSRCERASE$001100A6使用布尔 OR 运算符组合源矩形和目标矩形的颜色,然后反转生成的颜色。
填色复制PATCOPY$00F00021将当前在目标设备中选择的画笔复制到目标位图中。
混色复制PATINVERT$005A0049使用布尔 XOR 运算符将当前在目标设备中选择的画笔的颜色与目标矩形的颜色组合在一起。
加色复制PATPAINT$00FB0A09此操作的结果通过使用布尔 OR 运算符与目标矩形的颜色相结合。
降色复制SRCAND$008800C6使用布尔 AND 运算符组合源矩形和目标矩形的颜色。
原图复制SRCCOPY$00CC0020将源矩形直接复制到目标矩形。
反图复制SRCERASE$00440328使用布尔 AND 运算符将目标矩形的反面颜色与源矩形的颜色组合在一起。
混图复制SRCINVERT$00660046使用布尔 XOR 运算符组合源矩形和目标矩形的颜色。
加图复制SRCPAINT$00CC0020使用布尔 OR 运算符组合源矩形和目标矩形的颜色。

尺寸类
中文名字英文名称长度作用解释
尺寸类SIZE8用来存储尺寸大小的信息
尺寸类——成员表
中文英文类型作用解释
cx整数尺寸大小的宽度。
cy整数尺寸大小的高度。

混合类
中文名字英文名称长度作用解释
混合类BLENDFUNCTION4通过指定源位图和目标位图的混合函数来控制混合。
混合类——成员表
混合BlendOp字节源混合操作。 目前,唯一定义的源和目标混合操作是0。
标志BlendFlags字节必须为零。
透明SourceConstantAlpha字节指定要用于整个源位图的透明度值0-255。
格式AlphaFormat字节控制解释源位图和目标位图的方式。1=具有透明通道

顶点类
中文名字英文名称长度作用解释
顶点类TRIVERTEX16包含颜色信息和位置信息。
顶点类——成员表
x整数矩形左上角的 x 坐标(以逻辑单位为单位)。
y整数矩形左上角的 y 坐标(以逻辑单位为单位)。
Red整形x、y 点的颜色信息。
绿Green整形x、y 点的颜色信息。
Blue整形x、y 点的颜色信息。
Alpha整形x、y 点的颜色信息。

三角点类
中文名字英文名称长度作用解释
三角点类GRADIENT_TRIANGLE12指定数组中三个顶点的索引。这三个顶点构成一个三角形。
三角点类——成员表
点1Vertex1整数边相交的三角形的第一个点。
点2Vertex2整数边相交的三角形的第二个点。
点3Vertex3整数边相交的三角形的第三个点。

矩形点类
中文名字英文名称长度作用解释
矩形点类GRADIENT_RECT8指定数组中两个顶点的索引。 这两个顶点构成了矩形的左上角和右下边界。
矩形点类——成员表
左上UpperLeft整数矩形的左上角。
右下LowerRight整数矩形的右下角。

渐变填充模式
英文名称数值作用解释
GRADIENT_FILL_RECT_H0     在此模式下,两个终结点描述一个矩形。 矩形定义为具有常量颜色为左右边缘指定。 GDI 从左到右边缘插入颜色并填充内部。
GRADIENT_FILL_RECT_V1 在此模式下,两个终结点描述一个矩形。 矩形定义为上边缘和下边缘指定的常量颜色。GDI 将颜色从上边缘内插到下边缘,并填充内部。
GRADIENT_FILL_TRIANGLE2 在此模式下, 将 TRIVERTEX 结构的数组以及描述单独三角形的数组索引列表传递给 GDI。
GDI 在三角形顶点之间执行线性内插并填充内部。绘图在 24 和 32 bpp 模式下直接完成。
Dithering 在 16、8、4 和 1 bpp 模式下执行。

位图拉伸模式
英文名称数值作用解释
BLACKONWHITE1    使用已消除像素和现有像素的颜色值执行逻辑与运算。单色位图会以牺牲白色像素为代价保留黑色像素。
WHITEONBLACK2使用已消除像素和现有像素的颜色值执行逻辑或操作。单色位图会以牺牲黑色像素为代价保留白色像素。
COLORONCOLOR3删除像素。此模式会删除所有已消除的像素线,而不会尝试保留其信息。
HALFTONE4将源矩形中的像素映射到目标矩形中的像素块。目标像素块上的平均颜色近似于源像素的颜色。