如何才能根据当前桌面背景获取 Unity 用于主题 UI 的色调?

如何才能根据当前桌面背景获取 Unity 用于主题 UI 的色调?

当我的桌面背景发生变化时,我发现 Unity Launcher 的色调会自动更新以适应背景颜色。#这也用于其他 UI 元素,例如仪表板和通知的背景

我现在想以编程方式访问此色调,因为在脚本中使用这种颜色,我计划根据当前色调为其他一些东西设置主题。

在最坏的情况下,我只能使用当前桌面背景图像并计算类似于 Unity 所做的事情以从中获取色调,但我不知道它如何从图像中提取色调。

即使我这样做,它也可能与启动器的外观略有不同,而且看起来不太好看。此外,Unity 已经在后台进行了一些计算来获得这种色调,所以我们不妨重新使用它。

是否有命令可以直接从 Unity 中获取这些信息?Unity 如何做到这一点?

#:一些屏幕截图展示它如何适应背景:

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

答案1

我认为最简单的方法是根据 xwin 截取应用程序 0 的屏幕截图,这实际上是桌面。据我所知,它根据该值进行外观设置

相关内容