前面使用dshow获取到了屏幕的截图,并且转换成了yuv420格式。、
现在需要能获取截图的部分区域。 本来打算在dshow获取截图的时候直接裁剪获得某个区域的rgb图像,但发现这样做,有时候成功不了。
因此只能选择获取完整的屏幕截图,转换成yuv后再进行裁剪:
YUV420裁剪代码如下:
#include "yuvcut.h"
#include
YuvCut::YuvCut()
{
}
void YuvCut::Yuv420Cut(int x,int y,int desW,int desH,int srcW,int srcH,uint8_t *srcBuffer,uint8_t *desBuffer)
{
int tmpRange;
int bufferIndex;
int yIndex = 0;
bufferIndex = 0 + x + y*srcW;
tmpRange = srcW * desH;
for (int i=0;i