Witam.
Procedura :
procedure SaveFrame(FrameNumberToCapture: Integer; Filename: string);
var
BMP : TBitmap;
ADC : HDC;
GetPoint : TPoint;
MyJpeg: TJpegImage;
begin
BMP := TBitmap.Create;
BMP.Height := 240; // tu nalezy ustawić wysokość
BMP.Width := 320; // a tu szerokość klatki filmu
MediaPlayer1.TimeFormat := tfFrames;
MediaPlayer1.Display := Panel1;
GetPoint := Panel1.ClientToScreen(Point(0,0));
ADC := GetDC(0);
MediaPlayer1.Position := FrameNumberToCapture;
Application.ProcessMessages;
Bitblt(BMP.Canvas.Handle, 0,0,
BMP.Width,BMP.Height,
ADC, GetPoint.X, GetPoint.Y, SRCCOPY);
MyJpeg:= TJpegImage.Create;
MyJpeg.Assign(BMP);
MyJpeg.SaveToFile(Filename);
end;
zapisuje pojedynczą klatkę jednak na formie musi choć przez chwile być widoczny panel1. Może ktoś zna inny sposób pobierania klatki z pliku wideo?