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

AlphaBlend

Previous pageReturn to chapter overviewNext page

描述

 

AlphaBlend功能显示具有透明或半透明像素的位图。

 

C++ 语法

 

BOOL AlphaBlend(

__in HDC hdcDest,

__in int xoriginDest,

__in int yoriginDest,

__in int wDest,

__in int hDest,

__in HDC hdcSrc,

__in int xoriginSrc,

__in int yoriginSrc,

__in int wSrc,

__in int hSrc,

__in BLENDFUNCTION ftn

);

 

PowerBASIC 语法

 

FUNCTION AlphaBlend( _

BYVAL hdcDest AS LONG, _

BYVAL xoriginDest AS LONG, _

BYVAL yoriginDest AS LONG, _

BYVAL wDest AS LONG, _

BYVAL hDest AS LONG, _

BYVAL hdcSrc DWORD, _

BYVAL xoriginSrc AS LONG, _

BYVAL yoriginSrc AS LONG, _

BYVAL wSrc AS LONG, _

BYVAL hSrc AS LONG, _

BYVAL ftn AS BLENDFUNCTION _

) AS LONG

 

参数

 

hdcDest

 

[in]处理目标设备上下文。

 

xoriginDest

 

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

 

yoriginDest

 

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

 

wDest

 

[in]指定目的矩形的宽度(以逻辑为单位)。

 

hDest

 

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

 

hdcSrc

 

[in]处理源设备上下文。

 

xoriginSrc

 

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

 

yoriginSrc

 

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

 

wSrc

 

[in]指定源矩形的宽度(以逻辑为单位)。

 

hSrc

 

[in]指定源矩形的高度(以逻辑为单位)。

 

ftn

 

[in]指定源和目标位图的阿尔法混合函数,要应用于整个源位图的全局alpha值,以及源位图的格式信息。源和目标混合函数目前仅限于AC_SRC_OVER。请参阅BLENDFUNCTIONEMRALPHABLEND结构。

 

返回值

 

如果函数成功,返回值为TRUE。

 

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

 

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

 

含义

ERROR_INVALID_PARAMETER

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

 

备注

 

如果源矩形和目标矩形的大小不一样,则源位图将被拉伸以匹配目标矩形。如果使用SetStretchBltMode功能,则此函数将iStretchMode值自动转换为COLORONCOLOR(即BLACKONWHITE,WHITEONBLACK和HALFTONE更改为COLORONCOLOR)。

 

使用当前为目标设备上下文指定的转换来转换目标坐标。通过使用当前为源设备上下文指定的变换来转换源坐标。

 

如果源设备上下文标识增强的图元文件设备上下文,则会发生错误(并且函数返回FALSE)。

 

如果目的地址和源位图不具有相同的颜色格式,AlphaBlend将源位图转换为匹配目标位图。

 

AlphaBlend不支持镜像。如果源或目的地的宽度或高度为负,则此调用将失败。

 

当渲染到打印机时,首先使用SHADEBLENDCAPS调用GetDeviceCaps以确定打印机是否支持与AlphaBlend混合。请注意,对于显示器DC,支持所有混合操作,这些标志表示操作是否加速。

 

如果源和目标是相同的表面,它们都是屏幕或相同的内存位图,并且源和目标矩形重叠,发生错误,函数返回FALSE。

 

源矩形必须完全位于源表面内,否则会发生错误,函数返回FALSE。

 

如果源或目的地的宽度或高度为负,则AlphaBlend将失败。

 

注意 SourceConstantaAlphaSourceConstantaAlpha成员指定了在整个源位图上使用的Alpha透明度值。SourceConstantAlpha值与任何每个像素的Alpha值组合。如果SourceConstantAlpha为0,则假定图像是透明的。当您只想使用每像素的Alpha值时,将SourceConstantAlpha值设置为255(表示图像不透明)。

 

引用文件 #INCLUDE Once

 

WinGdi.inc(包括Windows.inc)