TransparentImage、TransparentBlt - [Daliy APIs]

TransparentImage


该函数传送一张位图,但是位图中指定颜色会被忽略。

原型:

BOOL TransparentImage(

  HDC hdcDest

  LONG DstX,  LONG DstY,  LONG DstCx,  LONG DstCy,

  HANDLE hSrc

  LONG SrcX,  LONG SrcY,  LONG SrcCx,  LONG SrcCy

  COLORREF TransparentColor

);

参数:

hdcDest: 目标DC句柄

DstX、DstY:目标矩形左上角X、Y坐标,按逻辑单位表示。

DstCx、DstCy:目标矩形的宽度和高度,按逻辑单位表示。

hSrc: 目标DC句柄

SrcX、SrcY:源矩形左上角X、Y坐标,按逻辑单位表示。

SrcCx、SrcCy:源矩形的宽度和高度,按逻辑单位表示。

TransparentColor: 位图中呈现为透明的颜色。

返回值:

   非0表示成功,0表示失败。调用GetLastError获取扩展错误信息。

说明:

   如果hSrc是HBITMAP,那么该位图必须在调用TransparentImage 前被选入DC。

   TransparentImage支持所有源位图格式。然而,对于32bpp位图,它只是拷贝alpha值到其上。

   如果源矩形和目标矩形大小不同,源矩形将缩放大小以匹配目标矩形。

   如果源矩形或目标矩形中的宽或高为负数,TransparentImage不会对位图产生镜像。

 

 

TransparentBlt


该函数执行位块传送,将指定源DC内的所有矩形像素对应的颜色数据传送到目标DC。

原型:

BOOL TransparentBlt(

  HDC hdcDest,

  int nXOriginDest,  int nYOriginDest,  int nWidthDest,  int hHeightDest,

  HDC hdcSrc,

  int nXOriginSrc,    int nYOriginSrc,    int nWidthSrc,    int nHeightSrc,

  UINT crTransparent

);

参数:

hdcDest:目标DC句柄

nXOriginDest、int nYOriginDest:目标矩形左上角X、Y坐标,按逻辑单位表示。

nWidthDest、hHeightDest:目标矩形的宽度和高度,按逻辑单位表示。

hdcSrc:目标DC句柄

nXOriginSrc、nYOriginSrc:源矩形左上角X、Y坐标,按逻辑单位表示。

nWidthSrc、nHeightSrc:源矩形的宽度和高度,按逻辑单位表示。

crTransparent:源位图被当做透明的RGB颜色

返回值:

   成功返回TRUE,失败返回FALSE。调用GetLastError获取扩展错误信息。

说明:

   TransparentBlt 函数是 TransparentImage 函数的封装。 

参考: 
MSDN: TransparentImage    TransparentBlt



转载于:https://www.cnblogs.com/Lisen/archive/2010/01/21/1653329.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值