小弟前段时间曾做过保证要公开该问题的code(vc,bcb,dephi),刚开始小弟用拷屏的方法可抓下来总是黑呼呼的一片,后来在几位大虾的提示下用vc+directshow实现那该功能。

可这样一来,就必须用directshow来实现播放与初衷不合.从此我就钻进那死胡同,总是想将

directshow与activemove组件,directshow与mediaplay组件结合起来,利用IBasicVideo Interface来达到目标。可读遍那与此相关的directsdk的头文件,都没有找那结合的办法(那位大虾实现那,请指点小弟,小弟先谢那!)。一直苦无进展,市面上有关的书都翻遍那。无用!(可见那些所谓的“高级编程技巧”都是狗屁,难度大一点的问题都回避,全是乱抄,tmd骗子),有一天小弟重读The IBasicVideo interface supports the video properties of a generic video window. Generally, this is a video renderer that draws video into a window on the display. (msdn),忽然记起在读dephihelp是有一段相似

TPaintBox provides a canvas that applications can use for rendering an image.(dephihelp)遂想用paintbox可能可以,try->success,code如下:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, MPlayer, ExtCtrls, StdCtrls, Menus;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

filw1: TMenuItem;

open1: TMenuItem;

close1: TMenuItem;

Button1: TButton;

OpenDialog1: TOpenDialog;

PaintBox1: TPaintBox;

MediaPlayer1: TMediaPlayer;

procedure FormCreate(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure PaintBox1Paint(Sender: TObject);

procedure open1Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

imgbitmap:TBitmap;

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

imgbitmap:=TBitmap.Create;

imgbitmap.Height:=200;

imgbitmap.Width:=200;

imgbitmap.Canvas.Rectangle(0,0,200,200);

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

imgbitmap.Free;

end;

procedure TForm1.PaintBox1Paint(Sender: TObject);

begin

PaintBox1.Canvas.CopyRect(Rect(0,0,200,200),imgbitmap.Canvas,Rect(0,0,200,200));

end;

procedure TForm1.open1Click(Sender: TObject);

begin

if OpenDialog1.Execute then

begin

MediaPlayer1.FileName:=OpenDialog1.FileName;

MediaPlayer1.Open;

MediaPlayer1.Display:=Form1;

MediaPlayer1.DisplayRect:=Rect(10,10,200,200);

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

imgbitmap.Canvas.CopyRect(Rect(0,0,200,200),form1.Canvas,Rect(10,10,200,200));

PaintBox1.Invalidate;

imgbitmap.SaveToFile('d:\\1234567.bmp');

end;

end.

test环境win2000+dephi6.0

article from "鄙视那些转帖不贴明来源的人"

转载于:https://www.cnblogs.com/zhmx/archive/2012/09/05/2672106.html

mediaplay抓图相关推荐

  1. C# 视频监控系列(9):服务器端——数据捕获(抓图 + 录像)

    前言 录像功能是监控系统中最重要的功能之一,除了本文的功能实现外,还需要你自己考虑合适的存储策略:存储大小.时间段.存储盘符等. 注意 本系列文章限于学习交流,注重过程,由于涉及公司,所以不提供源代码 ...

  2. android canvas 保存图片,ionic3 html5 video 抓图保存到手机相册,解决Android手机不支持Canvas drawImage问题...

    当然百度出上W条答案 上代码,相信下面代码和小伙伴大同吧 相信好多做webview app的小伙伴们都有同样的问题,在pc上能轻松实现video 抓图.但是在android手机大多是不支持canvas ...

  3. gentoo下gnome的抓图功能

    先要安装gnome-utils 然后 系统->首选项->键盘快捷键 中设置抓图的快捷键 转载于:https://www.cnblogs.com/yashen/archive/2010/07 ...

  4. 单页面抓图并且保存的爬虫

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #这个文件的目的是抓取http://baike.baidu.com/ ...

  5. linux系统里常用的抓图工具,Linux系统下屏幕截图常用方法

    电脑操作系统中一般都有自带截图快捷键,而很多软件业有截图的功能,那么Linux操作系统要如何截图呢?下面小编就给大家介绍下Ubuntu下如何截图. 在linux系统上怎么截图: 键盘上的截图键还可以用 ...

  6. android 音频播放总结 soundlPool,MediaPlay

    soundlPool 用于小音频的播放多个同时播放. 使用步骤: 步骤一: 首先下载音频文件可以将其放入assets文件夹下或者res下的raw文件夹下,区别在于assets下可以再新建文件夹而raw ...

  7. Html 进行DOM 操作(放缩,颜色...),HTML抓图(放缩,滚动,拼接)

    使用MSHTML 对 Html 进行DOM 操作(放缩,颜色...),HTML抓图(放缩,滚动,拼接) 以前的代码,使用ATL会更整洁 //  放缩抓图 void CPageCaptureView:: ...

  8. c#winform演练 ktv项目 MediaPlay控件的暂停播放与停止

    c#winform演练 ktv项目 MediaPlay控件的暂停播放与停止 用法 媒体控件.Ctlcontrols.操作名() 关于操作名: play,播放 stop,停止 pause,暂停 例子

  9. onvif协议之抓图

    本来一直以为抓图,需要先取出视频码流,在进行抓图,业务非常复杂.今天发现,onvif协议居然能够直接进行抓图操作. 首先获取图片的url,然后调用http协议把图片下载下来. 本人测试摄像机为海康IP ...

  10. 秀米 ueditor 远程抓图到本地 问题结合

    秀米 ueditor 远程抓图到本地 问题结合 readfile($imgUrl, false, $context);$img = ob_get_contents();ob_end_clean();/ ...

最新文章

  1. mysql以下运算符的优先级顺序正确的是_MySQL 运算符
  2. Pinyin4j 的使用 Pinyin4jUtils工具类
  3. VB.Command()的参数
  4. Java - Java Mail邮件开发(3)spring +Java Mail + Velocity
  5. 激光成像雷达技术 你了解清楚了吗?
  6. mongodb分组统计
  7. 大白菜超级U盘启动盘制作工具极速装机版
  8. asin、acos、atan 和 atan2 函数用法简介
  9. 合肥php怎么这么多的,合肥为什么那么多“郢”?答案就在这!
  10. 小学奥数公式大全 学习奥数必备“工具”
  11. 【FND】EBS中Java并发程序开发
  12. 微信小程序开发技术介绍 有哪些?
  13. Recheck Cond filter IO\CPU放大 原理与优化CASE - 含 超级大表 不包含(反选) SQL优化
  14. python--web--让python提供api服务--aiohttp
  15. Bootrap 项目实战(微金所前端首页)第一部分
  16. HTML的简介、文档结构及基本标记
  17. 利用OVITO软件绘制团簇构型 (ICO, BCC, HCP, FCC及SC 多面体)
  18. 2020年《财富》中国500强排行榜数据爬取,看看都有哪些
  19. HTML无害化和Sanitize模块
  20. KVM qcow2、raw、vmdk等镜像格式和转换

热门文章

  1. python超市管理系统总汇总功能解说_AdminModules --- 管理模块
  2. mysql test 映射到实体_第80天:Python 操作 MySQL
  3. value数字 vue_Vue数字输入框组件使用方法详解
  4. linux流量监控php_Linux下安装vnstat流量统计,流量监控
  5. linux sql 语句菜鸟,sql语句
  6. datatable自定义表单或者导出excel按钮,搜索
  7. SPI 机制-插件化扩展功能
  8. Java 面试 ——可变参数、初始化数据块、设计秒杀系统
  9. Atcoder Grand Contest 036 D - Negative Cycle
  10. Python 函数参数 传引用还是传值