From: Eddie Shipman Subject: Re: AVI's in Shell32.DLL Date: 17 Mar 1999 00:00:00 GMT Message-ID: <36F01B04.9C58CF26@inetport.com> Content-Transfer-Encoding: 8bit References: <7copgf$6vb19@forums.borland.com> <36EFF8A2.54B0E88A@landstar.com> <7cp10l$7cc2@forums.borland.com> X-Accept-Language: en Content-Type: text/plain; charset=iso-8859-1 Organization: Another Netscape Collabra Server User Mime-Version: 1.0 Reply-To: edward.shipman@tgslc.org Newsgroups: borland.public.delphi.graphics This code will save all frames from the eight common avi's to bitmaps. You can then use a GIF construction set to convert to animated gifs. unit Unit1; interface uses SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, forms, Dialogs, MPlayer, StdCtrls, ExtCtrls, Buttons, Gauges, ComCtrls; type TMainform = class(Tform) Button1: TButton; msLabel1: TLabel; Label2: TLabel; Animate1: TAnimate; Image1: TImage; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Mainform: TMainform; implementation {$R *.DFM} procedure TMainform.Button1Click(Sender: TObject); var Bitmap : TBitmap; i,x,j : Integer; comAVI : TCommonAVI; begin { 1-aviFindFolder, 2-aviFindFile, 3-aviFindComputer, 4-aviCopyFiles, 5-aviCopyFile, 6-aviRecycleFile, 7-aviEmptyRecycle, 8-aviDeleteFile } for x := 1 to 8 do // only eight common AVIs begin Animate1.CommonAVI := TCommonAVI(x); for i := 1 to Animate1.FrameCount do begin Animate1.Play(i,i+1,1); Label2.Caption := IntToStr(i); Bitmap := TBitmap.Create; try Bitmap.Width := Animate1.Width; Bitmap.Height := Animate1.Height; Bitmap.Pixelformat := pf24bit; Bitmap.Canvas.CopyRect(Bitmap.Canvas.ClipRect, Mainform.Canvas, Rect(Animate1.Left, Animate1.Top, Animate1.Left + Bitmap.Width, Animate1.Top + Bitmap.Height)); Bitmap.SaveToFile( IntToStr(Ord(Animate1.CommonAVI))+'_'+IntToStr(i) + '.BMP'); finally Bitmap.Free end; Sleep (50); Application.ProcessMessages end; Sleep (50); Application.ProcessMessages end; end; end. Here's the DFM: object MainForm: TMainForm Left = 200 Top = 128 Width = 425 Height = 172 Caption = 'MainForm' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] PixelsPerInch = 96 TextHeight = 13 object msLabel1: TLabel Left = 287 Top = 49 Width = 72 Height = 13 Caption = 'Frame Number:' end object Label2: TLabel Left = 285 Top = 66 Width = 3 Height = 13 end object Image1: TImage Left = 0 Top = 71 Width = 272 Height = 60 end object Button1: TButton Left = 298 Top = 16 Width = 75 Height = 25 Caption = 'Button1' TabOrder = 0 OnClick = Button1Click end object Animate1: TAnimate Left = 0 Top = 0 Width = 272 Height = 60 Active = False CommonAVI = aviCopyFiles StopFrame = 34 end end "Ing. José Manuel Gómez-Ferrer y Reguero" wrote: > Thanx, but no, that's not what I meant, I need to extract that AVI from that > file, or find an animated GIF that shows this video (copying file, papers > fly from one folder to another). > I'm trying to do this because I need the gif file, not to show the avi in my > app... > Thanx again... > > Jon E. Scott escribió en mensaje <36EFF8A2.54B0E88A@landstar.com>... > >José, > > > >If you have Delphi 4, drop a TAnimate component (found on the Win32 page) > on the > >form. Set it's CommonAVI property to aviCopyFiles (or any other property > you > >like) and set Active := True. > > > >That's what you want, right? > > > >I can't help you with Delphi 2 or 3. > > > >Jon. > > > >"Ing. José Manuel Gómez-Ferrer y Reguero" wrote: > > > >> Hi > >> > >> Is there a way of extracting the animations that Shell32.dll has? > >> The only thing that I need is an animated gif of the "Copying file" > (paper > >> flyes from one folder to another) avi that is found in this dll file... > >> Or... does someone know where I can find this animated gif? I tryed all > over > >> the place, I saw it some time ago... don't remember where :( > >> Thanx in advance. > >