original Window Farben auslesen
Re: original Window Farben auslesen
Hast schon recht. Ich finde es nur immer wieder traurig, dass es bei so simplen Dingen wie der Fensterfarbe, so schwierig sein kann, diese zu ermitteln. Was habe ich damals gegoogelt um eine Lösung zu finden. Aber nix...
-
- Beiträge: 103
- Registriert: 25.08.2013 18:04
- Computerausstattung: alles mögliche^^
- Wohnort: Schöppenstedt
- Kontaktdaten:
- jacdelad
- Beiträge: 348
- Registriert: 03.02.2021 13:39
- Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
- Wohnort: Riesa
- Kontaktdaten:
Re: original Window Farben auslesen
Professionell meint sicher eine API.
Und sorry für die falsche Aussage meinerseits. Ich war mir sicher, dass man damit alle Farben bekommt. Vielleicht damit: https://docs.microsoft.com/en-us/window ... ationcolor
Und sorry für die falsche Aussage meinerseits. Ich war mir sicher, dass man damit alle Farben bekommt. Vielleicht damit: https://docs.microsoft.com/en-us/window ... ationcolor
PureBasic 6.11/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/150TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/150TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Re: original Window Farben auslesen
Ja, genau damit geht es. Aber wie ?! Womit wir wieder am Anfang wären.
-
- Beiträge: 103
- Registriert: 25.08.2013 18:04
- Computerausstattung: alles mögliche^^
- Wohnort: Schöppenstedt
- Kontaktdaten:
- jacdelad
- Beiträge: 348
- Registriert: 03.02.2021 13:39
- Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
- Wohnort: Riesa
- Kontaktdaten:
Re: original Window Farben auslesen
Code: Alles auswählen
Define color.l,opaque.l,library.i
library=OpenLibrary(#PB_Any,"dwmapi.dll")
If library
If CallFunction(library,"DwmGetColorizationColor",@color,@opaque)
Debug "Fehler"
Else
Debug "Erfolg"
Debug "Farben:"
Debug "R:"+Str(PeekA(@color+2))
Debug "G:"+Str(PeekA(@color+1))
Debug "B:"+Str(PeekA(@color))
Debug "A:"+Str(PeekA(@color+3))
If opaque
Debug "Opaque=1"
Else
Debug "Opaque=0"
EndIf
EndIf
EndIf
Zuletzt geändert von jacdelad am 24.08.2021 02:18, insgesamt 1-mal geändert.
PureBasic 6.11/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/150TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/150TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
-
- Beiträge: 103
- Registriert: 25.08.2013 18:04
- Computerausstattung: alles mögliche^^
- Wohnort: Schöppenstedt
- Kontaktdaten:
Re: original Window Farben auslesen
R,G,B Reihenfolge sollten so passen (sollte so sein: B,G,R)
alle rgb Werte werden bei mir negativ ausgegeben... soll das so?
ich habe mal aus PeekB mal PeekA editiert. Jetzt sind alle negativen Zahlen positiv und passt jetzt auch zu meiner Windows-Rahmenfarbe.
Was wir jetzt noch vergessen haben, ist die Schriftfarbe auf dem Fensterbalken. Wäre schön, wenn wir das auch noch hinbekommen. thx
alle rgb Werte werden bei mir negativ ausgegeben... soll das so?
ich habe mal aus PeekB mal PeekA editiert. Jetzt sind alle negativen Zahlen positiv und passt jetzt auch zu meiner Windows-Rahmenfarbe.
Was wir jetzt noch vergessen haben, ist die Schriftfarbe auf dem Fensterbalken. Wäre schön, wenn wir das auch noch hinbekommen. thx
- jacdelad
- Beiträge: 348
- Registriert: 03.02.2021 13:39
- Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
- Wohnort: Riesa
- Kontaktdaten:
Re: original Window Farben auslesen
Ja, stimmt, PeekA. Hab ich übersehen. Hab's oben korrigiert.
Die Schriftfarbe ist nicht so einfach, weil die unter Umständen dynamisch an die Basisfarbe angepasst wird:
https://stackoverflow.com/questions/245 ... indows-8-1
Die Schriftfarbe ist nicht so einfach, weil die unter Umständen dynamisch an die Basisfarbe angepasst wird:
https://stackoverflow.com/questions/245 ... indows-8-1
PureBasic 6.11/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/150TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/150TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Re: original Window Farben auslesen
Ok, so weit war ich auch schon mal. Stimmen denn bei euch die ermittelten Farben unter Win 7,8, oder 10 mit den tatsächlichen angezeigten Farben überein ?! Bei mir jedenfalls war das nie der Fall. Es scheint noch irgendwelche "Korrekturwerte zu geben, die unter den verschiedenen Betriebssystemen zum Einsatz kommen. Die ermittelten Farben waren entweder leicht zu hell bzw. zu dunkel. Ich verweise noch einmal auf den Registry-Schlüssel #HKEY_CURRENT_USER Software\Microsoft\Windows\DWM. Dort steht ja noch so allerhand drin. Jedenfalls sollte man ja annehmen, dass wenn man dort den Farbwert von ""ColorizationColor"" und "ColorizationColorBalance" ausliest, die angezeigten Farbwerte bekommt. (Natürlich in der für uns ungewohnten RGBA-Form - was man leicht umfummeln kann.)
Wie auch immer, die Farben ob per Registry oder per dwmapi.dll ermittelt, haben bei mir nie genau die Fenstertitelfarbe ergeben.
Wie auch immer, die Farben ob per Registry oder per dwmapi.dll ermittelt, haben bei mir nie genau die Fenstertitelfarbe ergeben.
Re: original Window Farben auslesen
Wie sieht es mit Transparenz aus und diese ganzen "neuen" Effekte die man so hat - sicherlich werden diese die gesehene Farbe auch beeinflußen?
(Ich habe eine etwas ältere Windows Version... hust).
(Ich habe eine etwas ältere Windows Version... hust).