在 Xamarin 中将颜色转换为较暗的阴影

4

我有一个颜色选择器,可以让我的Xamarin应用设置主题颜色。我想计算同一颜色的较暗阴影以识别不同的项目。

如何从一种颜色计算出较暗的阴影?


我的想法是看一下RGB如何在我们的颜色中工作(我会假设颜色越暗,值越高),然后从那里编写算法。 - Woj
1个回答

7
假设这是一个表单颜色,你可以使用 WithLuminosity 方法来降低它的"亮度"值并返回一个新的较暗颜色。
例子:
var color = label.BackgroundColor;
var newColor = color.WithLuminosity(color.Luminosity - (color.Luminosity * .1));
label.BackgroundColor = newColor;

为什么不使用 color.Luminosity * 0.9 - user10608418
@Knoop 哈哈...我从实际代码中剪切/粘贴/编辑,该代码在动画函数中跨越多个控件执行亮度级联,因此lum * .1来自不同的颜色,但是,在这种情况下,.9也可以正常工作。 - SushiHangover
哈哈,没关系,看到那段代码,我在想“嗯,我是不是漏了什么……?”^^ - user10608418

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接