zoukankan      html  css  js  c++  java
  • 修改捕获图像的大小 directshow

    ok,谢谢陆兄的指点,我也是这么做的,见代码,其中pAsfConfig是从asfwriter指针获取的. 
    IWMProfile *ppProfile; 
    pAsfConfig->GetCurrentProfile (&ppProfile); 

    IWMStreamConfig* ppConfig; 
    ppProfile->GetStream(0,&ppConfig); //获取视频流的 
    /////设置视频流的属性 
    IWMMediaProps *pMediaProps; 
    ppConfig->QueryInterface(IID_IWMMediaProps,(void**)(&pMediaProps)); 
    WM_MEDIA_TYPE mediaType; 
    DWORD bufsize; 
    pMediaProps->GetMediaType(NULL,&bufsize); 
    pMediaProps->GetMediaType(&mediaType,&bufsize); 
    //////////////////////// 
    VIDEOINFOHEADER *pVih = reinterpret_cast<VIDEOINFOHEADER*>(mediaType.pbFormat); 
    在这里重新设置视频流的属性 
    ......... 
    ////////////////////////// 
    pMediaProps->SetMediaType(&mediaType); 


    我想通过pVih指针设置视频的大小,VIDEOINFOHEADER结构如下: 

    typedef struct tagVIDEOINFOHEADER { 
    RECT rcSource, 
    RECT rcTarget; 
    DWORD dwBitRate; 
    DWORD dwBitErrorRate; 
    REFERENCE_TIME AvgTimePerFrame; 
    BITMAPINFOHEADER bmiHeader; 
    } VIDEOINFOHEADER; 

    因为我看到BITMAPINFOHEADER 结构有两个成员 
    LONG biWidth; 
    LONG biHeight; 
    不知道是否通过这bmiHeader的两个变量来设置视频的宽度和高度,??? 
    另:我通过查看GetMediaType返回的媒体类型,发现biWidth和 biHeight都是零?怎么解释啊? 
    还请陆兄再次指教 



    附:BITMAPINFOHEADER结构 
    typedef struct tagBITMAPINFOHEADER { 
    DWORD biSize; 
    LONG biWidth; 
    LONG biHeight; 
    WORD biPlanes; 
    WORD biBitCount; 
    DWORD biCompression; 
    DWORD biSizeImage; 
    LONG biXPelsPerMeter; 
    LONG biYPelsPerMeter; 
    DWORD biClrUsed; 
    DWORD biClrImportant; 
    } BITMAPINFOHEADER; 

  • 相关阅读:
    SharePoint安全性验证无效
    纠结的TreeView动态加载节点
    Microsoft CRM 安装问题汇总
    moss里用Response生成Excel以后页面按钮失效问题
    zt:System.Globalization 命名空间
    ZT:自定义的泛型类和泛型约束
    开博了,,,
    zt:SilverLight遍历父子控件的通用方法
    zt: 学习WPF绑定
    zt:使用复杂类型定义模型(实体框架)
  • 原文地址:https://www.cnblogs.com/mfryf/p/2352654.html
Copyright © 2011-2022 走看看