【发布时间】:2023-03-12 09:45:02
【问题描述】:
数据库中有一个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 而不是# 开头。我尝试使用#,但它失败了......至少我所得到的是渲染......只是不是我的颜色。
【问题讨论】:
-
我认为你的代码是正确的,所以你假设的东西一定是错的。
-
我认为这个问题很切题并且提供了足够的信息——至少对于那些熟悉 MigraDoc 的人来说是这样。几个毫无意义的问题从未关闭(我的关闭投票已过期)。
-
你的问题启发了我改进
Color.Parse方法(见我的回答)。感谢您提出问题。