我正试图在我的Blazor应用程序上创建一个可重复使用的组件,允许另一个开发人员输入一种 colored颜色 (用于背景),然后在呈现组件时着色将计算组件所需的文本和其他 colored颜色 .目前,我可以输入背景 colored颜色 ,但之后我找不到如何将 colored颜色 (字符串格式)转换为HSL以使用任何css calc()技巧.

/// <summary>
/// Define the colour of the card. It can accept any string value. The default is #DEF4F58C Hexadecimal.
/// </summary>
[Parameter] public string BackgroundColour { get; set; } = "#DEF4F58C";

这是传递的参数,但我需要帮助理解如何将此 colored颜色 转换为HSL格式以实现可重用性.

推荐答案

您可以应用十六进制到HSL的转换,如JS here所述.或者,您可以使用如下的NuGet:ColorHelper

Csharp相关问答推荐

EF Core:看不到任何查询日志(log)?

需要深入了解NpgSQL DateTimeOffset处理

什么是通过反射创建类的泛型接口方法的正确方法?

具有单一导航属性的EF核心一对多关系

.NET HttpClient、JsonSerializer或误用的Stream中的内存泄漏?

只有第一个LINQ.Count()语句有效

在EF Core中,有没有什么方法可以防止在查询中写入相同的条件,而代之以表达式?

反序列化私有成员

C#普罗米修斯指标

将字节转换为 struct 并返回

确定System.Text.Json序列化中是否无法识别Type

JsonPath在Newtonsoft.Json';S实现中的赋值

从Base64转换为不同的字符串返回相同的结果

从GRPC连接创建ZipArchive

为什么我的自定义Json.net转换器不工作?

如何在更新数据库实体时忽略特定字段?

如何在C#中反序列化Java持续时间?

如果图表S批注包含使用LINQ的具有特定名称的批注,我如何签入C#

如何使用moq和xUnit对删除操作进行单元测试?

.NET6最小API:操作.MapGet之后的响应