在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