最近在做一个项目,要在视频图像上叠加半透明的图片。
几经波折,总算是实现了透明效果。
我有上传一个Demo,地址为:
http://download.csdn.net/detail/zl_alen/3755662
该Demo是在参考MOSQUITO例子写的,实现了透明效果。
话不多说,现在先来看看使用Overlay的步骤:
1、创建DirectDrow对象,并设置窗口模式
2、创建主表面
3、检查硬件释放支持覆盖表面
4、创建覆盖表面
5、在覆盖表面上画图或写字,如加载一位图(这步并非必要步骤,此时默认覆盖表面为黑色)
6、显示覆盖表面
现在我们来分析一下具体步骤:
1、创建DirectDrow对象,并设置窗口模式
采用DirectDrawCreate函数创建DirecDraw对象
DirectDrawCreate(NULL, &m_pDDObject, NULL);
其中m_pDDObject是LPDIRECTDRAW类型变量。
LPDIRECTDRAW m_pDDObject;
设置窗口模式
//设置窗口模式为普通模式
m_pDDObject->SetCooperativeLevel(hWnd, DDSCL_NORMAL);
2、创建主表面
接下来 是创建主表面
此时要设置DDSURFACEDESC结构体变量相应参数
DDSURFACEDESC stDdsd;