Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Video an Fenstergröße anpassen (https://www.delphipraxis.net/59114-video-fenstergroesse-anpassen.html)

skunker 17. Dez 2005 16:05


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

marabu 17. Dez 2005 18:18

Re: Video an Fenstergröße anpassen
 
Herzlich willkommen in der Delphi-PRAXiS, skunker.

Delphi-Quellcode:
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;
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:

Delphi-Quellcode:
function GetRatio(r: TRect): extended;
begin
  with OriginalRect do
  begin
    Result := Succ(Right - Left) / Succ(Bottom - Top);
  end;
end;
Im Ereignis OnResize von PlayPanel kannst du dann die Skalierung vornehmen.

Grüße vom marabu

Wolfgang K 19. Feb 2006 18:28

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?

SirThornberry 19. Feb 2006 18:30

Re: Video an Fenstergröße anpassen
 
wie kommst du auf
Delphi-Quellcode:
mediaplayer1.self.OriginalRect
das nie keiner geschrieben? sondern es wurde geschrieben das du in deinem Private eine Variable vom typ "OriginalRect" anlegen sollst.

Wolfgang K 19. Feb 2006 21:10

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 19:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz