用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
757 B

3 months ago
#pragma once
#include "utilities-def.h"
#include <windows.h>
namespace SOUI
{
#define MAX_ALPHABUF 1<<16
typedef struct tagALPHAINFO
{
BITMAP bm;
LPBYTE lpBuf;
RECT rc;
tagALPHAINFO()
{
lpBuf=NULL;
rc.left=rc.top=rc.right=rc.bottom=0;
}
} ALPHAINFO,* LPALPHAINFO;
class UTILITIES_API CGdiAlpha
{
private:
static BYTE s_byAlphaBack[MAX_ALPHABUF];
static LPBYTE ALPHABACKUP(BITMAP *pBitmap,int x,int y,int cx,int cy);
//恢复位图的Alpha通道
static void ALPHARESTORE(BITMAP *pBitmap,int x,int y,int cx,int cy,LPBYTE lpAlpha);
public:
static BOOL AlphaBackup(HDC hdc,LPCRECT pRect,ALPHAINFO &alphaInfo);
static void AlphaRestore(ALPHAINFO &alphaInfo);
};
}//namespace SOUI