![]() |
AlphaBlend macht das Video schwarz
Hallo
ich habe ein Video in Form1. Form2 kommt über Form1 drauf als transparent. leider macht AlphaBlend mein Video schwarz. Der Code von AlphaBlend liegt in Form2 :
Delphi-Quellcode:
Ich verwende den AlphaBlend seit lang und alles war in Ordnung aber
AlphaBlend:=true;
AlphaBlendValue :=1; jetzt nicht mehr. Woran kann das Problem liegen ? Was mich wundert, das Problem passiert nicht bei jedem PC. Gibt es eine andere Lösung ausser AlphaBlend um eine Form transparent zu machen ? |
AW: AlphaBlend macht das Video schwarz
Wenn ein Video per Overlay (oder wie auch immer das heißt) abgspielt wird, dann wird an der gewünschten Position im Programmfenster nur eine "bestimmte" Overlay-Farbe hingemalt.
Das Video wird dabei direkt an die Grafikkarte gesendet und von dieser nur da ausgegeben/angezeigt, wo sich diese Farbe befindet. Dein AlphaBlend verändert diese Farbe aber, welche bei dir nun zufällig (fast) Schwarz ist, was du auch siehst. Für das Video fehlt aber nun die Farbe, auf welcher es angezeigt werden soll und demnach wird es nicht, in die sichtbare Ausgabe der Grafikkarte, eingebaut. |
AW: AlphaBlend macht das Video schwarz
Das Video wird warscheinlich per Overlay auf die Form projeziert. Das bedeutet, dass die Form an der stelle eine bestimmte Farbe hat und alle Pixel mit dieser Farbe dann mit dem Video überlagert werden. Wenn du nun die form transparent machst, veränderst du die Farbe des Pixels und schon wird es nicht mehr erkannt und kein video ist zu sehen!
Du könntest die Videobeschleunigung abschalten, das legt das Video direkt auf diese stelle, allerdings verschlechtert das die Performance |
AW: AlphaBlend macht das Video schwarz
Wenn ich das richtig verstehe willst du die Form komplett durchsichtig. Dann könntest dus ja mit TransparentColor versuchen. Anscheinend funktionierts, allerdings weiß ich nicht ob es das ist was du brauchst...
|
AW: AlphaBlend macht das Video schwarz
Was genau willst du machen? Warum ist deine Form2 transparent und über Form1. Vielleicht gibts bessere wege
|
AW: AlphaBlend macht das Video schwarz
Hallo zusammen,
1. das stimmt, das liegt an das Video selbst und nicht an den Delphi-Code. Das Video wird mit Windows Media Player gespielt. Windows Media Player spielt das Video in Overlay. OK, aber was mich wundert ist folgendes : Das Problem passiert nicht bei alle Videos !!! Hier sind die Eigenschaften von den Videos Eigenschaften von dem Video, das OK ist :
Delphi-Quellcode:
Eigenschaften von dem Video, das Nicht OK ist und bei dem passiert das Problem :
Audio encoding mode: CBR
Video encoding mode: Quality VBR Audio codec: Windows Media Audio 9 Voice Audio format: 20 kbps, 22 kHz, mono Video codec: Windows Media Video 9 Video bit rate: Quality based Video size: Same as video input Frame rate: 15 fps Key frame: 20 s Image quality: 90 Buffer size: Default
Delphi-Quellcode:
Sagt das euch was ?
Audio encoding mode: CBR
Video encoding mode: CBR Audience: 291.05 Kbps Audio codec: Windows Media Audio 9 Audio format: 32 kbps, 44 kHz, mono CBR Video codec: Windows Media Video 9 Screen Video bit rate: 250 Kbps Video size: Same as video input Frame rate: 10 fps Key frame: 3 s Image quality: 100 Buffer size: Default 2. Ach so, warum verwende ich Form2 über Form1 als transparent. Das Video läuft bei MouseOver, darum habe ich form2 drauf gelegt, damit das Video nicht läuft, wenn der Anwender den Mauszeiger drauf bewegt. Wir bleiben lieber bei dem Punkt 1. Vielleicht finden wir eine Lösung Was ist der Unterschied zwischen Windows Media Video 9 Screen (OK) und Windows Media Video 9 Screen (Nicht OK) ? wikipedia sagt : ![]() |
AW: AlphaBlend macht das Video schwarz
Hi,
wenn du mit EnhancedVideoRenderer oder VideoMixingRenderer arbeitest dann gehen Videos transparent. Mit dem Hardwareoverlay Renderer geht das nicht, daran gibts auch nichts zu ändern das ist einfach so. Wenn Du nun transparentes Video bzw Form mit Video möchtest must du einen anderen Renderer nehmen. Aber wie und ob das mit dem Windows MediaPlayer geht weiß ich nicht. Ansonsten nimm den DSPack Gruß tom |
AW: AlphaBlend macht das Video schwarz
Zitat:
|
AW: AlphaBlend macht das Video schwarz
das ist das selbe Problem, Transparente Forms gehen nicht über Overlay Videos, bei EVR aber schon. Man sieht zwar die Transparent form im Vordergrund aber das Video im Hintergrund ist an dieser Stelle dann schwarz.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:44 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 by Thomas Breitkreuz