Ich versuche gerade herauszufinden, wie die runden Buttons in dem Beispiel
https://gitlab.com/mseide-msegui/mseuni ... buttonanim
gemacht werden.
Dabei habe ich zum testen frameimage.options bmo_masked auf false gesetzt. Dann ändern die Buttons die Hintergrundfarbe und das bleibt auch so, wenn man bmo_masked wieder auf true stellt.
Wenn ich dann auf frameimage rechte Maustaste -> Edit Component gehe, dann sehe ich, dass auch die Bilder in der Liste ihre Farbe geändert haben.
Ist das so gewollt?
Frameoptions
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1435
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
-
- 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: Frameoptions
Gewollt nicht gerade.
In MSEgui sind die bitmaps für Farbe und Transparenz separat, die Transparenzbitmap wird gelöscht, wenn bmo_masked rückgesetzt wird.
In MSEgui sind die bitmaps für Farbe und Transparenz separat, die Transparenzbitmap wird gelöscht, wenn bmo_masked rückgesetzt wird.
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1435
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Frameoptions
Aha, wo kann man denn die mask bitmap einstellen?
Ich habe versucht, die Buttons auch auf der rechten Seite rund zu machen. Vermutlich ist dafür frameimage.cornermask zuständig.
Welche Werte muß ich da für die rechten Seiten eintragen damit die auch rund werden. Sind das Pixelpositionen?
Ich habe versucht, die Buttons auch auf der rechten Seite rund zu machen. Vermutlich ist dafür frameimage.cornermask zuständig.
Welche Werte muß ich da für die rechten Seiten eintragen damit die auch rund werden. Sind das Pixelpositionen?
-
- 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: Frameoptions
fliegermichl hat geschrieben:Aha, wo kann man denn die mask bitmap einstellen?
Die Maske wird z.B. aus einer PNG aus dem Apha-Kanal mit dem imagelist Komponenteneditor geladen.
frameimage.cornermask clipt die client-Fläche. Die Zahlen definieren die Anzahl Pixel die vom Rand her ausgeschnitten werden. Die erste Zeile ist die erste Pixelreihe vom Rand her. Um die übrigen Ecken rund zu clipen kannst du die gleiche Werte wie in topright verwenden. Zusätzlich müssen die Eck-imgages angepasst werden. Ändere die frame.svg mit z.B. Inkscape, exportiere als 30x30 PNG, lade die Datei mit dem tool von hier ('Load Image'):
https://gitlab.com/mseide-msegui/mseuni ... textractor
'Save', lade die gespeicherte Datei im imagelist Editor, 'stretch' muss dabei ausgeschaltet sein. In der Imagelist sind die Ecken/Kanten im Gegenuhrzeigersinn angeordnet. Es sind 3*8 bitmaps für die drei Zustände "normal", "hoover" und "gedrückt". Die bitmaps 6, 14 und 22 müssen ersetzt werden.
Ausgewählt werden die Gruppen durch <button>.frame.frameimage_offset*, dabei wird die Summe aller aktiven Werte angewendet. Der im gedrückten Zustand sind offsetmouse und offsetclicked aktiv, -> 8+8 -> 16 -> es werden die bitmaps 16..23 verwendet.