前面使用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