![]() |
Video an Fenstergröße anpassen
Hallo,
ich möchte das ein AVI welches ich mit der MediaPlayer Komponente abspiele automatisch an die Größe des Panels angepasst wird. z.B. hab ich ein 320x240 großes video, welches im mediaplayer auf einem panel wiedergegeben wird. Jetzt will ich aber, dass das Video auf ein Panel in der Größe 640x480 dargestellt wird. Das Video soll auch weiterhin proportional sein. Sprich wie WinAmp, wenn man das Fenster an der Kante verzieht bleibt das video proportional nur entweder größer oder kleiner. Ich bedanke mich recht herzlich. ps: im Forum hab ich schon nach Videogröße anpassen gescuht etc. nichts gefunden. Mit freundlichen Grüßen, skunker |
Re: Video an Fenstergröße anpassen
Herzlich willkommen in der Delphi-PRAXiS, skunker.
Delphi-Quellcode:
Nach dem Öffnen kannst du dir die Originalgröße des Video-Clips in einer private variable deiner Form merken. Damit hast du dann auch das Seitenverhältnis Breite zu Höhe:
procedure TPlayForm.ButtonClick(Sender: TObject);
begin with MediaPlayer do begin FileName := 'c:\media\video\rubber-band.wmv'; Open; self.OriginalRect := DisplayRect; Display := PlayPanel; Play; end; end;
Delphi-Quellcode:
Im Ereignis OnResize von PlayPanel kannst du dann die Skalierung vornehmen.
function GetRatio(r: TRect): extended;
begin with OriginalRect do begin Result := Succ(Right - Left) / Succ(Bottom - Top); end; end; Grüße vom marabu |
Re: Video an Fenstergröße anpassen
Ich hab' den Dialog zum Anpassen des Videos an die Fenstergröße gesucht und hier gefunden. Leider funktioniert der Befehl
- mediaplayer1.self.OriginalRect := DisplayRect ; - bei mir nicht. Liegt es an meiner Delphi Version 3 ? gibt es da kein Anpassung? |
Re: Video an Fenstergröße anpassen
wie kommst du auf
Delphi-Quellcode:
das nie keiner geschrieben? sondern es wurde geschrieben das du in deinem Private eine Variable vom typ "OriginalRect" anlegen sollst.
mediaplayer1.self.OriginalRect
|
Re: Video an Fenstergröße anpassen
OK, OriginalRect hab' ich im private vereinbart und das Verhältnis Breite/Höhe hab' ich auch ausgerechnet (selsamerweise 0,5). Wenn ich richtig verstehe, kann ich jetzt zur Skalierung kommen, aber wie lautet die ? Ist es das OnResize von PlayPanel und wenn ja , was übergibt man da als Parameter ?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz