Hola Jessica, revisé tu codigo y no me dio ningun error.
Abri un nuevo proyecto, puse un Tpanel, un Tedit, un TMediaPalyer y un
TIMAGE.
Lo ejecute y me generó como 300 archivos bmp. (afortunadamente era un clip de video.)
Dices que el error que te sale tiene que ver con la declaracion del ¿TImage?, supongo entonces que no tienes un componente TImage dentro de tu formulario sino que lo declaraste como variable.
y no veo donde lo creas.
entonces modifiqué tu codigo , dejando en el formulario el panel, el mediaplayer y el edit y declarando el Timage como una variable, asi:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
Bitmap: TBitmap;
i : integer;
vImagen:TImage;
begin
vImagen:=TImage.Create(Self);
for i := 1 to MediaPlayer1.Length do
begin
Edit3.Text := IntToStr(i);
MediaPlayer1.StartPos := i;
MediaPlayer1.EndPos := i;
MediaPlayer1.Play;
Bitmap := TBitmap.Create;
Try
Bitmap.Width := Panel1.Width;
Bitmap.Height := Panel1.Height;
Bitmap.PixelFormat := pf24bit;
Bitmap.Canvas.CopyRect(Bitmap.Canvas.ClipRect,
Self.Canvas,
Rect(Panel1.Left,
Panel1.Top,
Panel1.Left + Bitmap.Width,
Panel1.Top + Bitmap.Height));
vImagen.Picture.Bitmap := Bitmap;
Bitmap.SaveToFile(IntToStr(i) + '.BMP'); finally
Bitmap.Free
end;
Sleep (250); Application.ProcessMessages;
end;
vImagen.Free;
end;
Revisa y me cuentas.