圆形截图(不规则截图)的实现

     在Windows下进行GUI编程,DC拷贝是少不了的,常用的有Bitblt,Stretchblt、TransparentBlt等,它们都很强大,不过在一些特殊情况,比如要从一个DC拷贝圆形区域到另一个DC,直接调用它们就无法实现,但是通过加以组合、多次调用,就能发挥出更强大的作用。

     下面看看圆形截图效果:

     圆形截图程序运行图

    

说明:我封装了一个圆形截图接口,声明如下:

/*
CircleCapture       从一个DC拷贝圆形区域缩放到另一个DC,
圆的半径由用户指定

  HDC   hdcDst          目标DC
  int   nXOriginDst      目标X坐标
  int   nYOriginDst      目标Y坐标
  int   nDiameterDst  目标圆直径
  HDC   hdcSrc           源DC
  int   nXOriginSrc      源X坐标
  int   nYOriginSrc      源Y坐标
  int   nDiameterSrc  源圆直径
  int   nWidth               圆的线条粗细
  DWORD dwColor   圆的颜色
*/

extern "C"

BOOL WINAPI CircleCapture(

HDC hdcDst, int nXOriginDst, int nYOriginDst, int nDiameterDst,
HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nDiameterSrc,
int nWidth, DWORD dwColor );


 

     这个接口的源代码可以去这里下载

 

注:如果有意见或建议,请在本页面留言,因为按CSDN规定,自己不能评论自己的资源。

 .

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值