StretchDIBits

【勇芳软件工作室】汉化HomePreviousNext

StretchDIBits功能将设备无关位图(DIB)中的像素矩形的颜色数据复制到指定的目标矩形。如果目标矩形大于源矩形,则该函数会拉伸颜色数据的行和列以适合目标矩形。如果目标矩形小于源矩形,则此函数使用指定的栅格操作来压缩行和列。

int StretchDIBits(

HDC 【HDC】,//设备上下文的句柄
INT 【XDest】,// dest的左上角的x坐标。RECT。
INT 【YDest】,// dest的左上角的y坐标RECT。
INT 【nDestWidth】,//目标矩形的宽度
INT 【nDestHeight】,//目标矩形的高度
INT 【XSrc】,//源代码左上角的x坐标。
INT 【YSrc】,//源代码左上角的y坐标。
INT 【nSrcWidth】,//源矩形的宽度
INT 【nSrcHeight】,//源矩形的高度
CONST VOID *【LP位元ca】,//位图位地址
CONST BITMAPINFO *【lpBitsInfo】,//位图数据的地址
UINT 【iUsage】,//用法
DWORD 【dwRop】//光栅操作码
); 

参数

【HDC】

标识目标设备上下文。

【XDest】

指定目标矩形左上角的x坐标(以逻辑为单位)。

【YDest】

指定目标矩形左上角的y坐标(以逻辑为单位)。

【nDestWidth】

指定目标矩形的逻辑单位宽度。

【nDestHeight】

指定目标矩形的高度(以逻辑为单位)。

【XSrc】

指定DIB中源矩形的x坐标(以像素为单位)。

【YSrc】

指定DIB中源矩形的y坐标(以像素为单位)。

【nSrcWidth】

指定DIB中源矩形的宽度(以像素为单位)。

【nSrcHeight】

指定DIB中源矩形的高度(以像素为单位)。

【LP位元ca】

指向DIB位,存储为字节数组。

【lpBitsInfo】

指向包含DIB信息的BITMAPINFO结构。

【iUsage】

指定是否提供BITMAPINFO结构的bmiColors成员,如果是,是否bmiColors包含明确的红色,绿色,蓝色(RGB)值或索引。【iUsage】参数必须是以下值之一:

描述
DIB_PAL_COLORS该数组包含16位索引到源设备上下文的逻辑调色板。
DIB_RGB_COLORS颜色表包含文字RGB值。

【dwRop】

指定源像素,目标设备上下文的当前画笔和目标像素如何组合以形成新图像。

返回值

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

如果函数失败,返回值为GDI_ERROR。要获取扩展错误信息,请调用GetLastError.

备注

自下而上的DIB的起源是左下角;自顶向下的DIB的原点是左上角。

如果【nSrcWidth】【nDestWidth】参数或【nSrcHeight】【nDestHeight】参数的符号不同,StretchDIBits会创建位图的镜像。如果【nSrcWidth】【nDestWidth】具有不同的符号,则该函数将沿x轴创建位图的镜像。如果【nSrcHeight】【nDestHeight】具有不同的符号,则该函数将沿y轴创建位图的镜像。

也可以看看

SetMapMode, SetStretchBltMode, BITMAPINFO