Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli
Online

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Problem mit Label Transparents

  Alt 26. Nov 2013, 12:15
Mal eine Einschätzung unter Vorbehalt (kann falsch sein, ist aber mein letzter Kenntsnisstand):

Ein Label zeichnet sich auf dem Canvas seines Parents. Deshalb wird ein Label immer hinter Controls gezeichnet. Hier ist eine Transparenz lösbar, weil das Label dann nur seinen Text zeichnen muss.

Bei Panels ist das schwieriger. Eine echte Transparenz gibt es hier nicht. Ein Panel kann die Farbe seines Parents übernehmen, dann ist es nicht direkt zu sehen.
Ist der Parent aber nicht einfarbig, hilft das auch nicht. Dann könnte man den passenden Ausschnitt des Parent-Canvas auf den Panel-Canvas kopieren und dann z.B. noch Text darauf zeichnen.
Das ist natürlich aufwendig und schwierig.
Wenn ein Panel andere Controls überdeckt (z.B. über zwei Schaltern mit dem gleichen Parent liegt), ist eine Transparenz gar nicht mehr zu erreichen.

Man kann Panels "ausstanzen" oder "ausschneiden" (über Regionen), so dass Teile des Panels "fehlen" und somit eine echte Transparenz entsteht. Dann werden aber auch Controls abgeschnitten, die über der Region liegen. Es sind sozusagen richtige Löcher, die dann auch keine Mausereignisse abfangen können.

Sobald ein Videoplayer ins Spiel kommt wird es noch komplizierter.
Da werden dann die Daten aus einem Videobildspeicherbereich oder so verarbeitet. Da wird man dann auch je nach System mit verschiedenen Ergebnissen rechnen müssen.


Firemonkey bietet da etwas mehr Flexibilität, hat aber auch wieder Schwächen. Die VCL kann man sich leider nicht als übereinander liegende Folien vorstellen, die transparente Bereiche enthalten können.

Ich hoffe, das passt so ungefähr...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat