Spezielles Tabpage Objekt

Forum für alles rund um die MSEide und MSEgui
mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Spezielles Tabpage Objekt

Beitrag von mse »

Hier:
https://gitlab.com/mseide-msegui/mseuni ... tblendanim
(ungeprüft auf Windows).
Eine einzige Zeile code:

Code: Alles auswählen

 
procedure tmainfo.tickev(const sender: tanimitem; const avalue: Real);
begin
 panel.face.fade_color[0]:= blendcolor(avalue,cl_black,cl_white);
end;
 

;-)

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1432
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Spezielles Tabpage Objekt

Beitrag von fliegermichl »

Danke für das Beispiel.

Es funktioniert auf Windows aber ich verstehe nicht so ganz wie?
Wieso blendet sich das Bild langsam ein, wenn diese Zeile ausgeführt wird?

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Spezielles Tabpage Objekt

Beitrag von mse »

Im Modus tface.options fao_aphafadeall wird der Farbverlauf verwendet um die Opazität einzustellen. Weiss = maximale Opazität, Schwarz = transparent. Der Farbverlauf hat lediglich einen Wert -> die Farbe gilt für die ganze Fläche. tanimitemcomop1 hat kind = ank_triangle -> avalue pendelt zwischen 0 und 1 und somit die fade Farbe zwischen Schwarz und Weiss.
Zum normalen Arbeiten musst du <panel>.fade unbedingt löschen (nil zuweisen), der Aufwand zur Transparenzberechnung ist gross.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1432
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Spezielles Tabpage Objekt

Beitrag von fliegermichl »

Aja, da wäre ich von alleine nie drauf gekommen.
Danke für deine Unterstützung.

Ich denke ich komme erst mal alleine weiter.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Spezielles Tabpage Objekt

Beitrag von mse »

Sorry, der Kommentar "eine einzige Zeile code" war nicht gegen dich gerichtet, es ist klar, das du das nicht wissen kannst.
Es war gedacht als Ausdruck der Freude, dass eine so Komplexe Funktion mit MSEgui so einfach realisiert werden kann.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1432
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Spezielles Tabpage Objekt

Beitrag von fliegermichl »

So hab ich das auch verstanden. Ich hab nur gestaunt, wie eine Bitoperation mit zwei Farben ein Bild einblenden kann. Da die Farbe aber in dem Fall die Transparenz steuert ist das klar.
Weshalb machst du das nicht wie in Lazarus mit einer Property Alphablending. Dann wüsste vermutlich jeder sofort wie das zu benutzen ist.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Spezielles Tabpage Objekt

Beitrag von mse »

Weil mit dem Farbverlauf die Opazität auch partiell eingestellt werden kann, siehe hier:
https://gitlab.com/mseide-msegui/mseuni ... ransparent
Zudem können durch die Definition der Opazität als Farbwert die einzelnen Farbkanäle getrennt beeinflusst werden, siehe Anhang, bei widgetblend1.png ist der rot-Kanal opak.
Ich versuche in MSEgui nicht viele spezielle properties zu implementieren, sondern die bestehenden properties möglichst universell zu gestalten. Technisch ist die Transparenzberechnung tatsächlich in tface angelegt.
Dateianhänge
widgetblend1.png
widgetblend1.png (8.55 KiB) 2000 mal betrachtet
widgetblend.png
widgetblend.png (9.12 KiB) 2000 mal betrachtet

Antworten