在虚拟摄像头(CSourcefilter)的fillbuffer中加入代码。在打码区域50*50。像素分辨率1/10:
for (int i=0;i<50;i++) { for (int k=0;k<50;k++) { BYTE x,y;//10*10的打码区域的參考坐标 x = k/10*10;//在x、y方向的每一个10*10的区域中。採用原来的区域定点的像素,作为本区域的像素。 y = i/10*10; *(pData+ (i*320+k)*4+0) = *(pData+ (y*320+x)*4+0); // Red *(pData+ (i*320+k)*4+1) = *(pData+ (y*320+x)*4+1); // Green *(pData+ (i*320+k)*4+2) = *(pData+ (y*320+x)*4+2); // Blue } }
在函数CopyScreenToBitmap中加入:
//设置字体 HFONT font; CreateFont(10,10,0,0,10,FALSE,FALSE,FALSE,ANSI_CHARSET,OUT_DEFAULT_PRECIS,OUT_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_SWISS,"宋体"); SelectObject(hScrDC, &font); SetBkMode(hScrDC,TRANSPARENT); SetTextColor(hScrDC,RGB(255,0,0)); TextOut(hScrDC,0,0,"字符叠加OSD!",sizeof("字符叠加OSD!")-1);