Screenshot von Videos (AVI) erstellen.
-
Hallo!
Ich habe ein kleines Programm erstellt, das AVI-Dateien abspielt.
Jetzt möchte ich von diesen Videos Snapshots über einen Button erstellen, was leider nicht klappt.
Zur Zeit versuche ich es so:
HDC dc = GetDC(frmMain->Handle); Graphics::TCanvas *ScreenCanvas = new Graphics::TCanvas(); ScreenCanvas->Handle = dc; thescreen->AutoSize = true; thescreen->Center = true; thescreen->Top = 0; thescreen->Left = 0; thescreen->Picture->Bitmap->Width = frmMain->Width; thescreen->Picture->Bitmap->Height= frmMain->Height; TRect rect = Rect(0, 0, frmMain->Width, frmMain->Height); thescreen->Picture->Bitmap->Canvas->CopyRect(rect, ScreenCanvas, rect); delete ScreenCanvas; ReleaseDC(NULL,dc); thescreen->Picture->SaveToFile ("test.bmp");(Falls der Code jemandem bekannt vorkommen sollte, ich habe in in leicht abgewandelter Form aus diesem Forum
)Wenn ich auf meinen 'Print Screen'-Button klicke, bekomme ich ein sehr schönes Bild. Jedoch ist der Bereich des Videos komplett schwarz.

Ich muß wohl direkt auf den Videospeicher zugraufen, aber wie?
Weiß jemand Rat?
Jede Idee ist willkommen, und wird getestet!
-
Das alles schwarz (bzw. fast) ist, ist vollkommen korrekt. Die GraKa benutzt ein Overlay um das Video zu zeigen (wegen der Performance). Der dunkelgraue Bereich auf dem Bildschirm wird nur als Maske für die Darstellung benutzt. Zumindest kannst du nun aber auf deinem Screenshots Videos abspielen.

Bye, TGGC (Dem beste BdT)
-
Zum Thema snapshot..
geh doch einfach im AVI auf bild 403953 und speichere es weg..