如何获取动态图象中的一张图象?(100分)

  • 主题发起人 主题发起人 echon
  • 开始时间 开始时间
E

echon

Unregistered / Unconfirmed
GUEST, unregistred user!
我用做出一界面可得到电脑眼的动态图象,我想在这个界面上实时的捕获得动态图象
的一张静态图象,不知如何实现?谢谢!
 
看到好看的图像,按下printscreen这个键盘按健,再粘贴到画板上面即可,记住给我加分哟
 
楼上的答案能行么,我想如果确实能截屏的话也不要这样啊,以前有很多代码,这里就
不贴了,如果不行,我想买东西应该有开发包吧,里面肯定有这种帮助或功能(因为我以
前就有)
 
用VFW应该可以吧?
在大富翁里搜索一下,有很多这样的程序源码的
 
VFW或者DirectShow
如果是VFW的话请看http://www.delphibbs.com/delphibbs/dispq.asp?lid=237372
 
按PrnScreen,在程序里截取剪贴板内容。
前两天参考别人的技巧做了个简单截取剪贴板的例子:

unit clip;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Clipbrd,
StdCtrls, ComCtrls, Buttons, ExtCtrls;

type
TForm1 = class(TForm)
clip: TRichEdit;
Color: TBitBtn;
ColorDlg: TColorDialog;
Save: TBitBtn;
SaveDlg: TSaveDialog;
Image1: TImage;
procedure FormClose(Sender: TObject;
var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure ColorClick(Sender: TObject);
procedure SaveClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
NextClipHwnd:HWND
//观察链中下一个窗口句柄
procedure WMDrawClipBoard(var Amessage:Tmessage);
message WM_DRAWCLIPBOARD;
end;


var
Form1: TForm1;

implementation

{$R *.DFM}

procedure Tform1.WMDrawClipBoard(var Amessage: Tmessage);
begin

SendMessage(NextClipHwnd,Amessage.msg,amessage.WParam ,amessage.LParam );
//处理剪贴板的内容
if clipboard.hasformat(CF_TEXT) then

begin

Clip.Text :=clipboard.astext;
end;

if clipboard.HasFormat(CF_BITMAP) then

begin

Image1.Picture.bitmap.Assign (clipboard);
clipboard.Clear
end;

end;


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

ChangeClipBOardChain(Handle,NextClipHwnd);
SendMessage(NextClipHwnd,WM_CHANGECBCHAIN,handle,NextClipHwnd);
end;


procedure TForm1.FormCreate(Sender: TObject);
begin

//获得观察链中下一个窗口句柄
NextClipHwnd :=setClipBoardViewer(Handle);
end;


procedure TForm1.ColorClick(Sender: TObject);
begin

if colordlg.Execute then

clip.SelAttributes.Color :=colordlg.Color
end;


procedure TForm1.SaveClick(Sender: TObject);
begin

if savedlg.execute then

clip.lines.SaveToFile(savedlg.filename)
end;


end.
 
soory,上面还有些没用的测试内容,只看剪贴板相关内容就好了。
 
接受答案了.
 
后退
顶部