Einzelnen Beitrag anzeigen

Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.334 Beiträge
 
Delphi XE5 Professional
 
#9

Re: Schnellere Alternative zu Avisynth/Vfw möglich?

  Alt 20. Nov 2005, 00:38
An eine TPaintBox habe ich auch schon gedacht. Ich weiß nur nicht wie ich das hinbekomme, weil ich am Ende doch nur ein Handle eines TBitmaps habe.

Delphi-Quellcode:
procedure Tfrm_Haupt.HoleImage(FrameNumber: Integer; ABitmap: TBitmap);
begin
  GetFrame := AVIStreamGetFrameOpen(AVIStream, nil);
  BitmapInfoHeader := AVIStreamGetFrame(GetFrame, FrameNumber);
  bits := Pointer(Integer(BitmapInfoHeader) + SizeOf(TBitmapInfoHeader));

  DC_Handle := CreateDC('Display', nil, nil, nil);

  try
    hBmp := CreateDIBitmap(
    DC_Handle,
    BitmapInfoHeader^,
    CBM_INIT,
    bits,
    PBITMAPINFO(BitmapInfoHeader)^,
    DIB_RGB_COLORS);
  finally
    DeleteDC(DC_Handle);
  end;

  ABitmap.Handle := hBmp;
  AVIStreamGetFrameClose(GetFrame);

end;
In der Regel sind die Frames 32Bit und die Source ein AviSynth-Script. Ich werde mir die Graphics32 sofort ansehen, vielleicht bekomme ich damit hin. Wenn Beispiele dabei sollte es auf jeden Fall gehen.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat