对GDI中的GradientFill的封装

 在MSDN中Graphic section部分有两个API是拿来单独描述的,他们分别是AlphaBlend和GradientFill,AlphaBlend的参数表类似BitBle,但GradientFill,从它们的参数表能看出它比较复杂,于是我做了封装

BOOL GradientFill(HDC hdc,PTRIVERTEX pVertex,ULONG nVertex, PVOID pMesh,ULONG nCount, ULONG ulMode);

//h文件,首先封装一个RGB类

//封装RGB
class CRGB;
#ifdef _UNITTEST
class CRGB
#else
class DLLEXPORT CRGB
#endif
{
public:
 CRGB();
 CRGB(int r,int b,int g,int a);
 int bRed;
 int bBlue;
 int bGreen;
 int bAlpha;
};

//cpp文件

//封装RGB
CRGB::CRGB(int r,int g,int b,int a)
{
 bRed=r;
 bBlue=b;
 bGreen=g;
 bAlpha=a;
}

//封装的目的实现对目标DC的目标区域内的惭变透明贴图

hdc:目标窗口的hdc

crt:目标区域

cr1:开始的色彩

cr2:结束的色彩

fillStyle:填充的方向,横向填充还是竖向填充

bTran:是否做透明填充

void CPicLoader::Gradi

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值