Autor Beitrag
whitef
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 202
Erhaltene Danke: 1

Windows X
Delphi XE X
BeitragVerfasst: Fr 22.04.11 13:17 
hi,

wollte mal fragen ob ihr wisst wie man ein TImage mehrstufig tranzparent schalten kann.
Also so in etwa:

ausblenden Delphi-Quelltext
1:
2:
3:
Image1.opacity := 255;  // Die dahinterliegenden Komponenten kommen gar nicht zum vorschein.
Image1.opacity := 100;  // Die dahinterliegenden Komponenten kommen etwas zum vorschein.
Image1.opacity := 0;    // Die dahinterliegenden Komponenten werden komplett angezeigt.

so dass mann einen wert von 0 - 255 für die sichtbarkeit des images bestimmen kann... gibts evtl. ne komponente die sowas kann?


Hintergrund:
Mittels Timer möchte ich gerne ein Fade-in hervorrufen um alles abzudunkeln, um gewisse komponenten dem Benutzer zu verdeutlichen.

mfg
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Fr 22.04.11 17:17 
Ein frei schwebendes TForm, oder über ein GraphicControl mit manipuliertem Alphakanal des Bitmaps (Abdecken funktioniert dann aber nicht mit WinControls)

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 22.04.11 19:07 
Ich nehme dafür einfach einen Screenshot des Formulars, den ich dann in eine TPaintBox (oder ein TImage), die auf einem Panel liegt, setze. Dann kann ich problemlos mit AlphaBlend arbeiten und so entsprechende Effekte erzeugen.

Vor das Panel mit dem Bild kommt dann das Control, das entsprechend hervorgehoben werden soll.

Nachteile:
Es ist nicht gerade effizient.
Bei einer Größenänderung oder Inhaltsänderung hinter dem Panel kann das davorgeblendete Image diese nicht anzeigen.