勇芳软件工作室.汉化:  Bitmaps > Bitmap Functions >

SetDIBits

Previous pageReturn to chapter overviewNext page

描述

 

SetDIBits功能使用指定DIB中找到的颜色数据设置兼容位图(DDB)中的像素。

 

C++ 语法

 

int SetDIBits(

__in HDC hdc,

__in HBITMAP hbmp,

__in UINT uStartScan,

__in UINT cScanLines,

__in const VOID *lpvBits,

__in const BITMAPINFO *lpbmi,

__in UINT fuColorUse

);

 

PowerBASIC 语法

 

FUNCTION SetDIBits( _

BYVAL hdc AS DWORD, _

BYVAL hbmp AS DWORD, _

BYVAL uStartScan AS DWORD, _

BYVAL cScanLines AS DWORD, _

BYREF lpvBits AS ANY, _

BYREF lpbmi AS BITMAPINFO,

BYVAL fuColorUse AS DWORD _

) AS LONG

 

参数

 

hdc

 

[in]处理设备上下文。

 

hbmp

 

[in]处理要使用指定DIB的颜色数据进行更改的兼容位图(DDB)。

 

uStartScan

 

[in]指定lpvBits参数指向的数组中与设备无关的颜色数据的起始扫描行。

 

cScanLines

 

[in]指定在包含设备无关颜色数据的数组中找到的扫描线数。

 

lpvBits

 

[in]指向DIB颜色数据的指针,以字节数组的形式存储。位图值的格式取决于由lpbmi参数指向的BITMAPINFO结构的biBitCount成员。

 

lpbmi

 

[in]指向包含DIB信息的BITMAPINFO结构的指针。

 

fuColorUse

 

[in]指定是否提供BITMAPINFO结构的bmiColors成员,如果是,是否bmiColors包含显式的红色,绿色,蓝色(RGB)值或调色板索引。fuColorUse参数必须是以下值之一。

 

含义

DIB_PAL_COLORS

颜色表由由hDC参数标识的设备上下文的逻辑调色板中的16位索引阵列组成。

DIB_RGB_COLORS

提供了颜色表,并包含文字RGB值。

 

返回值

 

如果功能成功,则返回值是复制的扫描行数。

 

如果函数失败,返回值为零。

 

Windows NT / 2000 / XP / Vista / Windows 7:要获取扩展错误信息,请调用GetLastError.这可以是以下值。

 

含义

ERROR_INVALID_PARAMETER

一个或多个输入参数无效。

 

备注

 

当位图位是系统调色板的索引时,获得最佳位图绘制速度。

 

应用程序可以通过调用GetSystemPaletteEntries函数来检索系统调色板的颜色和索引。在检索到颜色和索引后,应用程序可以创建DIB。

 

仅当为fuColorUse参数设置DIB_PAL_COLORS常数时,才会使用hDC参数标识的设备上下文;否则被忽略。

 

当应用程序调用此函数时,不得将骨形态发生蛋白参数标识的位图选择到设备上下文中。

 

除了RLE压缩位图之外,扫描线必须在DWORD上对齐。

 

自下而上的DIB的起源是位图的左下角;自上而下的DIB的起源是位图的左上角。

 

ICM:如果通过调用SetICMMode使iEnableICM参数设置为ICM_ON启用了颜色管理,则执行颜色管理。如果lpbmi指定的位图具有指定伽玛和端点成员的BITMAPV4HEADER或指定伽玛和端点成员或profileData和profileSize成员的BITMAPV5HEADER,则该调用将位图的像素视为在这些成员描述的颜色空间中表达,而不是在设备上下文的源颜色空间中。

 

引用文件 #INCLUDE Once

 

WinGdi.inc(包括Windows.inc)