DirectShow实现抓图(Delphi)

这篇博客详细介绍了如何在Delphi环境中利用DirectShow框架,通过TFlatButton、TFlatPanel等控件实现视频播放,并通过SampleGrabber过滤器进行视频截图,同时提供了处理抓图的关键代码和相关函数实现。
摘要由CSDN通过智能技术生成

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,shlobj, ExtCtrls,      {TFlatButtonUnit,TFlatPanelUnit,TFlatTitlebarUnit,}
    FlatBars, FlatBtns, FlatUtils, FlatPanel;

type

 //====================定义窗体类==========================//
  TForm1 = class(TForm)
  //界面控件
    open: TOpenDialog;    //打开对话框控件
    FlatPanel1: TFlatPanel; //FlatPanel控件
    Button1: TFlatButton;    //按钮控件
    Button2: TFlatButton;      //按钮控件
    FlatTitlebar1: TFlatTitlebar; //Titlebar 控件
    FlatButton1: TFlatButton;  //按钮控件
    FlatButton2: TFlatButton;    //按钮控件
    //窗口事件
    procedure FormClose(Sender: TObject; var Action: TCloseAction);     //窗口关闭事件
    procedure FormShow(Sender: TObject);  //窗口显示事件
    procedure Button1Click(Sender: TObject); //Button1的Click事件
    procedure Button2Click(Sender: TObject); //Button2的Click事件
    procedure FlatButton1Click(Sender: TObject); //FlatButton1的Click事件
    procedure FlatButton2Click(Sender: TObject);  //FlatButton2的Click事件
  private
    { Private declarations }

    mtv:widestring;     //视频文件名

  public
    { Public declarations }
     fillcolor:TColor;   //需要填充的颜色
    catchcolor:TColor;   //需要抠出的颜色
    detal:Byte;          //颜色误差范围
    procedure CreatDirectshow;    //创建Directshow环境资源
    Procedure FreeDirectshow;     //释放Directshow环境资源
    procedure catchpicture;       //捕捉视频图象,并做处理
  end;

var
  Form1: TForm1;  //定义窗体对象

implementation

{$R *.dfm}
uses
Directshow9,comobj,DSutil, Unit2; //包含附加的单元。Directshow9为微软DirectX SDK中Directshow的DELPHI单元文件
                                  //comobj为DELPHI的COM的单元
                                  //DSUtil为DIRECTSHOW的DELPHI工具单元
                                  //Unit2为 设置窗口 的单元

  //==================变量定义部分===============//
var
FilterG

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值