去除图片背景函数GdiTransparentBlt

前端之家收集整理的这篇文章主要介绍了去除图片背景函数GdiTransparentBlt前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

使用GdiTransparentBlt做图片透明效果时容易忽视的几个问题:

1、源场景和目标场景可以相同。

2、在作透明处理时,目标矩形与源矩形必须事先设置为相同大小。本人尝试结果:大小不同透明效果无法实现。

3、目标场景若为界面控件,背景颜色应与透明色不同,否则无法显示效果

4、初学者尤其要注意该函数所用句柄为hdc,而并非hwd

附:函数用法

功能:执行颜色数据的一位块操作转换到一个像素矩形,从指定的源场景到目标设备场景中。

VB声明:Private Declare Function GdiTransparentBlt Lib "gdi32.dll" (ByVal hdc As Long,ByVal x As Long,ByVal y As Long,ByVal nWidth As Long,ByVal nHeight As Long,ByVal hSrcDC As Long,ByVal xSrc As Long,ByVal ySrc As Long,ByVal nSrcWidth As Long,ByVal nSrcHeight As Long,ByVal crTransparent As Long) As Boolean

返回值:成功,返回为TRUE;否则,返回FALSE.

参数:

hdcDest 目标设备场景句柄

nXOriginDest 指定目标矩形的左上角X坐标,使用逻辑单位。

nYOriginDest 指定目标矩形的左上角Y坐标,使用逻辑单位。

nWidthDest 指定目标矩形的宽度,使用逻辑单位。

hHeightDest指定目标矩形的高度,使用逻辑单位。

hdcSrc 源设备场景句柄。

nXOriginSrc 源矩形的左上角X坐标,使用逻辑单位。

nYOriginSrc 源矩形的左上角Y坐标,使用逻辑单位。

nWidthSrc 源矩形的宽度,使用逻辑单位。

nHeightSrc 源矩形的高度,使用逻辑单位。

crTransparent RGB值,源位图中做透明处理的颜色。

例句:

GdiTransparentBlt hBakgrdDC,ptForgSize.X,ptForgSize.Y,hFregrdDC,lngColorForeground

猜你在找的VB相关文章