gpt4 book ai didi

c# - MigraDoc - 从十六进制设置单元格颜色

转载 作者:太空狗 更新时间:2023-10-30 00:48:12 24 4
gpt4 key购买 nike

数据库中有一个 HEX 颜色代码字符串 ("#ADD8E6"),我想用它来更改 MigraDoc< 的背景颜色 单元格。我找到了 Color.Parse() 函数,但它并没有改变我的单元格的颜色。我必须执行以下操作:

string colourHex = (database.HexCode).Replace("#", "0x");
var colourObject = MigraDoc.DocumentObjectModel.Color.Parse(colourHex);

Cell.Shading.Color = colourObject;

我知道 Cell.Shading.Color 是正确的,因为如果我应用 Cell.Shading.Color = Colors.AliceBlue,那么单元格会按预期改变颜色。我了解 Color.Parse 要求 HEX 代码以 0x 而不是 # 开头。我尝试使用 # 但它失败了...至少我得到的是渲染...只是不是我的颜色。

最佳答案

你必须用“0xff”替换“#”才能得到你想要的。

使用您的短数字(仅三个分量),alpha channel 将始终为 0,并且颜色将完全透明。使用 0xff 后跟 RGB 颜色的六个十六进制数字,您将获得完全不透明的颜色。

更新:在当前版本的 MigraDoc 1.50(beta 5b 或更高版本)中,您还可以使用井号后跟 3、6 或 8 个十六进制数字。 8 位数字包括 alpha channel ,3 位或 6 位数字使用 FF 的 alpha 设置。
在新版本中,代码#ADD8E6将达到预期的效果。
使用 0x 前缀时没有任何变化。

关于c# - MigraDoc - 从十六进制设置单元格颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49078892/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com