你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Linux开发
在多媒体文件中批量抓取图象(2)
 

procedure TForm1.FormCreate(Sender: TObject);
begin
MdPlayer.FileName :='';
TrackBar.Enabled := False;
InitShow;
end;

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

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if SpeedButton1.Down then begin
        Fetchf := True;
mdPlayer.Frames := updown1.Position
end
else Fetchf := False;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
MdPlayer.Close ;
TrackBar.Enabled := False;
label1.Caption := '';
label2.Caption := '';
if OpenDlg.Execute then begin
mdPlayer.FileName := OpenDlg.FileName ;
InitShow ;
end;
end;

procedure TForm1.MdPlayerClick(Sender: TObject;
    Button: TMPBtnType;
var DoDefault: Boolean);
var MyBmp : TBitmap;
MyCanvas : Tcanvas;
dc : Hdc;
rect : TRect;
name,tmp : String;
begin
UpdataTrackBar;
if ((Button = btBack) or (Button = btStep))
    and Fetchf then
try
myBmp := TBitMap.Create ;
MyCanvas := TCanvas.Create ;
rect := mdPlayer.DisplayRect ;

Dc := GetDc(Panel1.Handle);
myCanvas.Handle := dc;

myBmp.Width := rect.Right - rect.Left ;
myBmp.Height := rect.Bottom - rect.Top ;
myBmp.Canvas.CopyRect(rect,myCanvas,Rect);
count :=count+1;

if count< 10 then name := '000' + Inttostr(count)
else if count < 100 then name := '00'
    + Inttostr(count)
else if count< 1000 then name := '0'
    + Inttostr(count);
name := Path + name + '.bmp';
myBmp.SaveToFile(name);

finally
ReleaseDC(0 ,dc);
myBmp.Free;
myCanvas.Free;
end;
end;

procedure TForm1.TrackBarChange(Sender: TObject);
begin
MdPlayer.Position := TrackBar.Position ;
Label2.Caption := '当前位置: '
+Inttostr(MdPlayer.Position);
end;

end.

(编辑:aniston)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089