Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Transparenz wie bei Vista (https://www.delphipraxis.net/75270-transparenz-wie-bei-vista.html)

LH_Freak 16. Aug 2006 23:13


Transparenz wie bei Vista
 
Hi, ich arbeite gerade wieder daran die Skinengine von Muh zu verbessern, und wollte, weil die Transparenz wie bei Windows Vista ja gerade modern ist, das ganze einbauen...mein erster Versuch war, ein halbtransparentes PNG zu benutzen, auf die Form zu legen, und die Hintergrundfarbe des Formulars auf transparent stellen. Aber bei den Schatten gab es dann Probleme (irgendwie logisch ^^). Deswegen hab ich es so probiert einen Screenshot des Hintergrunds zu machen, und den Teil der hinter meinem Forumular ausgeschnitten und auf das Formular gezeichnet (im Programm natürlich ^^). Dadurch sieht alles aus wie in Vista, alles gut (ist wahrscheinlich auch lang nicht sooooo cpu-lastig wie bei Vista :-P) Ich habe dabei trotzdem ein paar Probleme:
:arrow: Wenn ich das Formular an der Titelleiste mittels Perform verschieben will, bleibt logischerweise der hintergrund erstmal erhalten, bis ich ihn dass nächste mal zeichne. deswegen müsste ich irgendwie schon während des verschiebens den Hintergrund aktualisieren.
:arrow: Bis jetzt hab ich mir noch einen Miranda IM Skin als Bild dafür geklaut...allerdings wäre es besser wenn ich ein Bild ohne die oben in der Titelleiste groß "Miranda IM" stehen zu haben ^^. Allerdings weiß ich nicht wo ich das herbekommen soll. Per Screenshot ausschneiden geht nicht...vll. könnte man bei einem komplett schwarzen hintergrund auf die Farbe zurückrechnen, ich weiß nicht =(

Naja, hoffe mir kann jemand helfen...wenn ich die Skinkomponente fertig habe, kann ich sie ja hier veröffentlichen =)

MfG
LH_Freak

Khabarakh 16. Aug 2006 23:29

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von LH_Freak
Dadurch sieht alles aus wie in Vista, alles gut (ist wahrscheinlich auch lang nicht sooooo cpu-lastig wie bei Vista :-P)

LOL. Du weißt schon, dass Vista (endlich mal) DirectX benutzt? Und selbst unter 2000-XP gibt es eine eingebaute Lösung für dein Problem (womit deine erste Frage schon beantwortet wäre): http://www.delphipraxis.net/internal...ct.php?t=67522 Dürfte an Vista nicht rankommen, aber wahrscheinlich trotzdem noch um Einiges schneller als deine Selfmade-Lösung ;) .
Zitat:

:arrow: Bis jetzt hab ich mir noch einen Miranda IM Skin als Bild dafür geklaut...allerdings wäre es besser wenn ich ein Bild ohne die oben in der Titelleiste groß "Miranda IM" stehen zu haben ^^. Allerdings weiß ich nicht wo ich das herbekommen soll. Per Screenshot ausschneiden geht nicht...vll. könnte man bei einem komplett schwarzen hintergrund auf die Farbe zurückrechnen, ich weiß nicht =(
Wie wärs damit, selbst künstlerisch tätig zu werden und nicht nur Anderer Sachen zu klauen ;) ? Dein Ansatz ist jedenfalls richtig, allerdings brauchst du mindestens zwei Bilder mit verschiedenen Hintergrundfarben.

LH_Freak 16. Aug 2006 23:36

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von Khabarakh
LOL. Du weißt schon, dass Vista (endlich mal) DirectX benutzt? Und selbst unter 2000-XP gibt es eine eingebaute Lösung für dein Problem (womit deine erste Frage schon beantwortet wäre): http://www.delphipraxis.net/internal...ct.php?t=67522 Dürfte an Vista nicht rankommen, aber wahrscheinlich trotzdem noch um Einiges schneller als deine Selfmade-Lösung ;)

Ich finde es trotzdem ein bisschen komisch wenn ein betriebssystem auf dem Desktop ohne laufende Programme (außer die Windows-Standard Programme) 100% CPU-auslastung hat. Außerdem kann man mit verschiedenen Programmen (WindowBlinds z.B.) den Glass Effekt ja schon bei Windows XP erzielen (bei anderen hab ichs nicht probiert).

Zitat:

:Wie wärs damit, selbst künstlerisch tätig zu werden und nicht nur Anderer Sachen zu klauen ;) ? Dein Ansatz ist jedenfalls richtig, allerdings brauchst du mindestens zwei Bilder mit verschiedenen Hintergrundfarben.
Ja klar...wie gesagt, ich arbeite an einer Skinengine, und da soll dieser Alphasupport drinne sein. Da mir der Glass Theme so gefällt, wollte ich mir halt einen Skin dafür basteln ^^. Dass dieser nie in M.U.H als Hauptskin übernommen wird versteht sich ja wohl von selbst, oder? ;)
Aber wenn ich das zurückrechne bleibt mir ja nur die Farbe mit 100% Alpha...die Alphawerte fehlen ja dann komplett :?

LH_Freak 22. Aug 2006 17:14

Re: Transparenz wie bei Vista
 
hey, ich nochmal ^^
Das mit den LayeredWindow is aber auch ein bisschen unvorteilhaft, da man ja dann keine VCL Komponenten mehr verwenden kann :S
Das ist dann auch ein bisschen unvorteilhaft ...
Gibts noch eine andere Möglichkeit?

JasonDX 22. Aug 2006 17:32

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von LH_Freak
Gibts noch eine andere Möglichkeit?

Also den kompletten Aero-Look wirst du mit der GDI nicht leicht hinkriegen. Zumindest nicht, wenns halbwegs performant gehn soll. Die Transparenz ist dabei nicht das grosse Problem, Schwierigkeiten bringt das Blurring (u.a. der Grund, warum PS2.0 Voraussetzung fuer Aero ist ;) ).
Und was die Transparenz alleine betrifft, denke ich duerfte das mit den LayeredWindows schon klappen, zumindest das den FormBorder betrifft. Allenfalls muss man diesen entsprechend selbst zeichnen, allerdings ohne vorher einen Screenshot von den verdeckten Fenstern zu machen :zwinker:

greetz
Mike

Khabarakh 22. Aug 2006 17:37

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von LH_Freak
Zitat:

Zitat von Khabarakh
LOL. Du weißt schon, dass Vista (endlich mal) DirectX benutzt? Und selbst unter 2000-XP gibt es eine eingebaute Lösung für dein Problem (womit deine erste Frage schon beantwortet wäre): http://www.delphipraxis.net/internal...ct.php?t=67522 Dürfte an Vista nicht rankommen, aber wahrscheinlich trotzdem noch um Einiges schneller als deine Selfmade-Lösung ;)

Ich finde es trotzdem ein bisschen komisch wenn ein betriebssystem auf dem Desktop ohne laufende Programme (außer die Windows-Standard Programme) 100% CPU-auslastung hat.

Und daraus schließt du, dass dein GDI-Selbstbau auf jeden Fall schneller als eine hardwaregestützte Methode der größten Softwareschmiede der Welt wird? :stupid:
Zitat:

Zitat von LH_Freak
Das mit den LayeredWindow is aber auch ein bisschen unvorteilhaft, da man ja dann keine VCL Komponenten mehr verwenden kann :S

Es muss ja noch einen Grund für Vista geben :zwinker: .

LH_Freak 22. Aug 2006 18:00

Re: Transparenz wie bei Vista
 
nein, natürlich nicht. aber ich hoffe trotzdem dass Aero bei der Verkaufsversion von Vista nicht mehr soviel Speicher frisst (kann natürlich sein dass Microsoft es sich einfach macht und meinen, dass bis dahin sowieso jeder einen besseren PC hat...)
Aber irgendwie muss es ja gehen...Bei Miranda geht es ja auch... :?

Khabarakh 22. Aug 2006 18:07

Re: Transparenz wie bei Vista
 
Beim Standard-Miranda? Das ist doch ein vollkomemn anderer Effekt, bei dem einfach das gesamte Fenster mit einem konstanten Wert gelbendet wird.

LH_Freak 22. Aug 2006 18:15

Re: Transparenz wie bei Vista
 
Hier

Geht. Den Skin hab ich auch. Verbraucht auch nicht viel Speicher ;)

LH_Freak 23. Aug 2006 23:13

Re: Transparenz wie bei Vista
 
*push*

3_of_8 23. Aug 2006 23:18

Re: Transparenz wie bei Vista
 
Liest du die Antworten eigentlich?

Zitat:

Zitat von Khabarakh
Beim Standard-Miranda? Das ist doch ein vollkomemn anderer Effekt, bei dem einfach das gesamte Fenster mit einem konstanten Wert gelbendet wird.

Da wird einfach das AlphaBlending der Form benutzt (OH hilft weiter).

Ansonsten kann ich eigentlich auch prima VCL Komponenten mit LayeredWindows benutzen.

Daniel G 23. Aug 2006 23:34

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von 3_of_8
Liest du die Antworten eigentlich?

Verstehst du die Frage eigentlich? Guck dir das Beispiel an, das LH_Freak dort gepostet hat. Das ist mit Miranda definitiv möglich und dort wird garantiert nicht "einfach das Alphablending der Form benutzt".

3_of_8 23. Aug 2006 23:40

Re: Transparenz wie bei Vista
 
http://addons.miranda-im.org/files/s...45-preview.png

Diesen Screenshot hat er gepostet.

Und wenn das kein AlphaBlending ist, dann dann gebe ich dir einen an der DP-Bar aus. :mrgreen:

Daniel G 23. Aug 2006 23:44

Re: Transparenz wie bei Vista
 
Und wie erklärst du dir, dass der Text normal lesbar ist? Wenn ich eine komplette Form via AlphaBlend transparent mache, ist das nämlich nicht mehr der Fall...

alias5000 24. Aug 2006 00:00

Re: Transparenz wie bei Vista
 
Bzw. ist wäre auch der weiße Hintergrund transparent, das ist er aber überhaupt nicht.
Also, wo ist die DP-Bar? :mrgreen:

On-Topic: ist es möglich, bestimmte Zonen vom AlphaBlending auszunehmen? Dann könnte man das so rum machen

JasonDX 24. Aug 2006 00:21

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von alias5000
On-Topic: ist es möglich, bestimmte Zonen vom AlphaBlending auszunehmen? Dann könnte man das so rum machen

Nein, zumindest interpretiere ich das aus dem MSDN so:
Dort steht
Layered Windows
Using a layered window can significantly improve performance and visual effects for a window that has a complex shape, animates its shape, or wishes to use alpha blending effects. [...] layered windows can be partially translucent, that is, alpha-blended.

To create a layered window, specify the WS_EX_LAYERED extended window style when calling the CreateWindowEx function, or call the SetWindowLong function to set WS_EX_LAYERED after the window has been created. After the CreateWindowEx call, the layered window will not become visible until the SetLayeredWindowAttributes or UpdateLayeredWindow function has been called for this window. Note that WS_EX_LAYERED cannot be used for child windows.
Und iirc ist jede Komponente auf dem Formular auch als "Child Window" zu betrachten.
Sprich: in #5 duerfte der letzte Absatz als Unfug bezeichnet werden :stupid:

Wie es schlussendlich funktioniert, weiss ich nicht. Aber ich hab das Gefuehl, dass das nach einem AlphaChannel riecht. *g*
Zumindest keonnte man so bestimmten Bereichen eine gewisse Transparenz zuschreiben, und anderen wieder nicht. (bspw. ist die aeusserste Pixelreihe des Rahmens wieder nicht transparent...) Wie das genau funktioniert, das weiss ich nicht, waere aber auf ein Ergebnis gespannt ;)

greetz
Mike

3_of_8 24. Aug 2006 00:32

Re: Transparenz wie bei Vista
 
Na gut, ihr habt Recht. Ich hätte schwören können, dass das früher nicht so war, ich verwechsle wohl irgendwie immer Transparent und AlphaBlend und so weiter.

@alias: Die DP Bar ist natürlich auf der USS Delphi-PRAXiS. Aber du kriegst nix, nur Daniel G hab ich nen Drink versprochen. :mrgreen:

@Jason: Man könnte auf die Form zeichnen, was eigentlich hinter der Form sein sollte, allerdings nicht komplett das, was dahinter sein sollte, sondern einen Mischwert aus Farbe hinter der Form und Farbe auf der Form.

Also in etwa so:

Delphi-Quellcode:
Repaint;
for I:=0 to topborder-1 do
  for J:=0 to width-1 do
    canvas.pixels[i, j]:=canvas.pixels[i, j] or bgcolor;
for I:=height-bottomborder-1 to height-1 do
  for J:=0 to width-1 do
    canvas.pixels[i, j]:=canvas.pixels[i, j] or bgcolor;
for topborder to height-bottomborder-1 do
  for J:=0 to leftborder-1 do
    canvas.pixels[i, j]:=canvas.pixels[i, j] or bgcolor;
for topborder to height-bottomborder-1 do
  for J:=width-rightborder to width-1 do
    canvas.pixels[i, j]:=canvas.pixels[i, j] or bgcolor;
Das ganze ist jetzt nur mal so schnell dahingetippt, ich erhebe keinen Anspruch darauf, dass das funktioniert. Aber aus dem Prinzip könnte man was machen.

JasonDX 24. Aug 2006 00:41

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von 3_of_8
Na gut, ihr habt Recht. Ich hätte schwören können, dass das früher nicht so war, ich verwechsle wohl irgendwie immer Transparent und AlphaBlend und so weiter.

Afaik wird Transparent auch nur ueber Layered Windows erledigt, sollte theoretisch also auch dort nicht klappen.

Zitat:

Zitat von 3_of_8
@Jason: Man könnte auf die Form zeichnen, was eigentlich hinter der Form sein sollte, allerdings nicht komplett das, was dahinter sein sollte, sondern einen Mischwert aus Farbe hinter der Form und Farbe auf der Form.

[...]
Delphi-Quellcode:
for I:=height-bottomborder-1 to height-1 do
  for J:=0 to width-1 do
    canvas.pixels[i, j]:=canvas.pixels[i, j] or bgcolor;
Aber aus dem Prinzip könnte man was machen.

Jo, eine GDI-Basierte CPU-Bremse :stupid: Alleine schon die Zuweisung von Pixels[...] in zwei verschachtelten Schleifen bremst die Applikation so aus, dass Vista da schneller installiert als das Formular neu gezeichnet ist :mrgreen: Wobei natuerlich auch wieder das lesen der Farbe des Pixels dahinter seinen (Zeit)Aufwand mit sich bringt ;)
Kurz: Das ist IMO der falsche Weg.

greetz
Mike

LH_Freak 24. Aug 2006 10:04

Re: Transparenz wie bei Vista
 
naja, meine lösung die ich hatte lief ohne Canvas.Pixels. Eigentlich war die Methode auch nicht so langsam :? aber es gab halt das Problem mit dem Verschieben der Form etc.

Khabarakh 24. Aug 2006 10:27

Re: Transparenz wie bei Vista
 
Ganz sicher, dass das in Miranda Standard-Controls sind ;) ?
Vielleicht lassen sich auch die VCL-Controls nutzen, indem sie bei jedem WM_PAINT auf das Bitmap gemalt werden (natürlich mit A = 255 ;) ) und danach wieder UpdateLayeredWindow aufgerufen wird.
Einfacher wäre es allerdings, auf Avalon zu warten :mrgreen: .

LH_Freak 24. Aug 2006 10:28

Re: Transparenz wie bei Vista
 
neeeeeeeeee, ich will ja net, dass mein Programm unbedingt wie Vista aussieht. Ich will ja, dass die Skinengine für MUH solche Alpha-dinger unterstützt ^^

JasonDX 24. Aug 2006 11:01

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von LH_Freak
naja, meine lösung die ich hatte lief ohne Canvas.Pixels. Eigentlich war die Methode auch nicht so langsam :? aber es gab halt das Problem mit dem Verschieben der Form etc.

Na ja, ein ein Screenshot geht auch nicht gerade schneller :zwinker: Es is bei deiner Implementierung ws nicht so aufgefallen, da du das nicht so oft gemacht hast, was aber einem Problem fuehren wurde, siehe naechster Absatz ;)
Was mir allerdings interessieren wuerde (geht an die, die Miranda mit diesem Skin haben): Wie siehts eigentlich aus, wenn im Hintergrund ein Video laeuft, bzw. sich etwas auf einem Formular veraendert? Wird das dann auch korrekt mit der Transparenz angezeigt?
Zitat:

Zitat von LH_Freak
neeeeeeeeee, ich will ja net, dass mein Programm unbedingt wie Vista aussieht. Ich will ja, dass die Skinengine für MUH solche Alpha-dinger unterstützt ^^

Man sollte sich fuer jedes Problem wie Frage stellen: Wie gross ist der Aufwand, wie gross ist der Nutzen. Ich will dich nicht demotivieren, eine Loesung hier zu finden (wuerde mich auch interessieren, wie das ginge), aber: Man wartet seit Jaenner auf eine angekuendigte Beta, ich wuerde die jetzt nicht wegen einem kleinen AlphaBlending-Feature zurueckhalten, wenn das so Probleme mit sich bringt ;)

greetz
Mike

xaromz 24. Aug 2006 11:14

Re: Transparenz wie bei Vista
 
Hallo,
Zitat:

Zitat von Khabarakh
Ganz sicher, dass das in Miranda Standard-Controls sind ;) ?
Vielleicht lassen sich auch die VCL-Controls nutzen, indem sie bei jedem WM_PAINT auf das Bitmap gemalt werden (natürlich mit A = 255 ;) ) und danach wieder UpdateLayeredWindow aufgerufen wird.

Ich hab' das mal ausprobiert, bei mir kommen beim Benutzen von UpdateLayeredWindow keine WM_PAINT-Messages mehr an. Das wird auch der Grund sein, warum keine Controls gezeichnet werden.
Ich schau mir das demnächst aber noch mal genauer an.

Gruß
xaromz

Daniel G 24. Aug 2006 13:22

Re: Transparenz wie bei Vista
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von JasonDX
Wird das dann auch korrekt mit der Transparenz angezeigt?

Jabb, allerdings nicht bei Videos. Dort hast du einen schwarzen Rand anstatt der Transparenz. (Eigentlich wollte ich davon einen Screeny machen, blöderweise muss man für Screenshots von Videos die Hardwarebeschleunigung deaktivieren. Und wenn ich das mache, und dann ein Video abspiele, dann ist der schwarze Rand weg und die Transparenz wieder da. :stupid: Also bekommst du ein ziemlich unscharfes Digicam - Foto :P)

Und wenn man sich mal im Skin - Verzeichniss umsieht, so sind dort für alle Controls entsprechende *.png's mit Transparenz zu finden.

Coder90 24. Aug 2006 18:22

Re: Transparenz wie bei Vista
 
Man könnte vielleicht eine Form machen welche per GR32 die Skin darstellt.
Oben drüber kommt dann per StayOnTop die Hauptapplikation mit den Controls und einer durchsichtigen Farbe.
Wenn man eine Verschiebt wird halt die andere mitverschoben.
Oder könnte man das auch per Layers in einer Form machen?

Daniel G 24. Aug 2006 18:31

Re: Transparenz wie bei Vista
 
Um das jetzt mal alles zusammen zu friemeln.
Zitat:

Zitat von LH_Freak
Gibts noch eine andere Möglichkeit?

Nein. Auch Miranda nutzt, wie oben schon erwähnt, für jedes Control außer der Kontaktliste ein Bild als Control. Mal abgesehen davon würden die Default - Controls auch nicht wirklich zum Design passen...

Den Link, den Kabradingsda ( :mrgreen: ) am Anfang gepostet hat, ist imho immer noch die beste Lösung.

Coder90 24. Aug 2006 18:43

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von Daniel G
Den Link, den Kabradingsda ( :mrgreen: ) am Anfang gepostet hat, ist imho immer noch die beste Lösung.

Nur kann man da keine VCL Komponenten verwenden.
Soll man dann alle Controls mit zur Laufzeit erstellten Bildern machen?
Darum hab ich ja die Idee mit der zweiten Form.

Daniel G 24. Aug 2006 18:45

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von Coder90
Soll man dann alle Controls mit zur Laufzeit erstellten Bildern machen?

So schaut's aus. Die Idee mit dem zweiten Formular ist imho zu kompliziert.

Coder90 25. Aug 2006 15:10

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von Daniel G
So schaut's aus. Die Idee mit dem zweiten Formular ist imho zu kompliziert.

Aber die einzige möglichkeit die mir einfällt.
Hab da mal was zusammengebaut
http://www.delphipraxis.net/internal...ct.php?t=90749

Khabarakh 25. Aug 2006 16:10

Re: Transparenz wie bei Vista
 
Zwei Fenster sind nun doch etwas zu viel Bastelei :stupid: . Besonders dass nun wieder ein Colorkey benötigt wird, ist doch eher suboptimal.
Das von mir in #20 beschriebene Verfahren sollte grundsätzlich funktionieren. Als ich mich mal 5 Minuten damit beschäftigt habe, ist mir das gleiche Problem wie xaromz aufgefallen, auf VCL-Form-Ebene(!) kommen keine Messages mehr an. Ob man sie auf höherer (z.B: Anwendungs-) Ebene abfangen kann, habe ich noch nicht getestet.

mschaefer 25. Aug 2006 17:10

Re: Transparenz wie bei Vista
 
Moin, moin,

könnte das mit MDI und Clientform gehen? Wenn die Grafik im MDI-Form liegt und die Controls auf den Clientforms?

Grüße // Martin

Coder90 25. Aug 2006 17:21

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von mschaefer
könnte das mit MDI und Clientform gehen? Wenn die Grafik im MDI-Form liegt und die Controls auf den Clientforms?

Hab ich schon versucht.
Es verschwinden jedoch auch die MDI Forms bei Layerd Window

LH_Freak 2. Okt 2006 22:38

Re: Transparenz wie bei Vista
 
HAH! Ich habs |,,/
Im Grunde ist das gaaaaaaanz einfach (mehr oder weniger :mrgreen:)
Erst wie im Beispiel von Khabarakh dass er gepostet hat am Anfag den Skin laden. Dann den Hintergrund des Formulars auf clFuchsia oder eine andere Farbe setzen, und achtung, jetzt kommt der trick! Jetzt einfach das Formular in ein Bitmap zeichnen (getformimage oder so), TransparentColor := clFuchsia (oder eine andere Farbe :D) und das auf das Bitmap32 von oben zeichnen. Und dann wieder wie im Beispiel weiter. Man muss nur in einem Timer das ganze neu zeichnen, dann sieht alles aus wie immer aber man hat tolle Alphaeffekte :thumb:

Mystic 8. Nov 2006 18:15

Re: Transparenz wie bei Vista
 
Zitat:

Zitat von Daniel G
Zitat:

Zitat von JasonDX
Wird das dann auch korrekt mit der Transparenz angezeigt?

Jabb, allerdings nicht bei Videos. Dort hast du einen schwarzen Rand anstatt der Transparenz. (Eigentlich wollte ich davon einen Screeny machen, blöderweise muss man für Screenshots von Videos die Hardwarebeschleunigung deaktivieren. Und wenn ich das mache, und dann ein Video abspiele, dann ist der schwarze Rand weg und die Transparenz wieder da. :stupid: Also bekommst du ein ziemlich unscharfes Digicam - Foto :P)

Und wenn man sich mal im Skin - Verzeichniss umsieht, so sind dort für alle Controls entsprechende *.png's mit Transparenz zu finden.

Das ist ein Problem mit Video Overlays:

VLC benutzt (im hardwarebeschleunigten Modus) ein Video Overlay, um das Video auf dem Bildschirm anzuzeigen. Dabei färbt es den Bereich, wo das Video angezeigt werden soll, mit einer bestimmten Farbe.

Die Grafikkarte erhält von VLC die Videobilder und die Farbe. Die Grafikkarte sorgt dann dafür, dass alle Pixel, die diese Farbe haben, durch die entsprechenden Pixel des Videobildes ersetzt werden.

Wenn jetzt aber ein transparentes Fenster über dem Fenster von VLC schwebt, verändert dies natürlich auch die Farbe des durchscheinenden VLC-Fensters. Diese Bereiche zeigen dann das Video nicht mehr an.

Das trifft auch auf den Schatten zu, der um die Fenster gezeichnet wird. Dadurch entsteht der schwarze Rand.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 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