zoukankan      html  css  js  c++  java
  • DirectShow自带实例StillCap在回调函数里实现抓图并保存为文件

        STDMETHODIMP BufferCB( double dblSampleTime, BYTE * pBuffer, long lBufferSize )
        {
            // this flag will get set to true in order to take a picture
            //
            CBitmap bm;
            bm.CreateBitmap(640, 480, 1, 24, pBuffer);

            BITMAPFILEHEADER    BMFileHeader;  
            BITMAPINFOHEADER    BMInfoHeader;  
            BITMAP                BM;  
            bm.GetObject(sizeof(BM),&BM);    
            BMInfoHeader.biSize                =   sizeof(BITMAPINFOHEADER);  
            BMInfoHeader.biWidth            =   BM.bmWidth;  
            BMInfoHeader.biHeight            =   BM.bmHeight;  
            BMInfoHeader.biPlanes            =   1;  
            BMInfoHeader.biBitCount            =   24;  
            BMInfoHeader.biCompression        =   0;  
            BMInfoHeader.biSizeImage        =   0;  
            BMInfoHeader.biXPelsPerMeter    =   0;  
            BMInfoHeader.biYPelsPerMeter    =   0;  
            BMInfoHeader.biClrUsed            =   0;  
            BMInfoHeader.biClrImportant        =   0;  

            BMFileHeader.bfType        =0x4d42;  
            BMFileHeader.bfOffBits    = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);  
            BMFileHeader.bfSize        =BMFileHeader.bfOffBits + BM.bmWidth * BM.bmHeight * 3;  
            BMFileHeader.bfReserved1=0;  
            BMFileHeader.bfReserved2=0;  

            CFile   file;  
            if(!file.Open(_T("d:\\aa.bmp"),CFile::modeCreate|CFile::modeWrite))  
            {  
                return 0;  
            }  
            file.Write(&BMFileHeader, sizeof(BITMAPFILEHEADER));  
            file.Write(&BMInfoHeader, sizeof(BITMAPINFOHEADER));  
            file.Write(pBuffer, BM.bmWidth * BM.bmHeight * 3);  
            file.Close();  

            bm.DeleteObject();
  • 相关阅读:
    DEDECMS之五 单页
    DEDECMS之六 网站地图、RSS地图
    DEDECMS之四 栏目调用
    DEDECMS之三 首页、列表页怎么调用文章内容
    DEDECMS之七 如何实现文章推荐排行榜
    centos6下安装dedecms
    C# 自动部署之附加数据库
    产品经理技能之BRD的笔记之菜鸟入门
    产品经理技能之MRD的笔记之一
    产品需求文档(PRD)的写作方法之笔记一
  • 原文地址:https://www.cnblogs.com/cplusplus/p/2452953.html
Copyright © 2011-2022 走看看