CJH*_*CJH 4 c# colors migradoc
HEX在数据库("#ADD8E6")中有一个颜色代码字符串,我想用它来改变MigraDoc单元格的背景颜色.我找到了Color.Parse()功能,但它没有改变我的细胞的颜色.我不得不做以下事情:
string colourHex = (database.HexCode).Replace("#", "0x");
var colourObject = MigraDoc.DocumentObjectModel.Color.Parse(colourHex);
Cell.Shading.Color = colourObject;
Run Code Online (Sandbox Code Playgroud)
我知道这Cell.Shading.Color是正确的,因为如果我申请,Cell.Shading.Color = Colors.AliceBlue那么单元格会按预期更改颜色.我理解Color.Parse要求HEX代码开始0x而不是#.我尝试使用它#并且它失败了......至少我得到的是渲染......只是没有我的颜色.
你必须用"0xff"替换"#"才能得到你想要的东西.
使用您的短号码(仅限三个组件),Alpha通道将始终为0,颜色将完全透明.对于0xffRGB颜色后跟六个十六进制数字,您将获得具有完全不透明度的颜色.
更新:使用当前版本的MigraDoc 1.50(beta 5b或更高版本),您还可以使用哈希符号,后跟3个,6个或8个十六进制数字.8位数字包括alpha通道,使用3或6位数字的alpha设置为FF.
使用新版本,代码#ADD8E6将具有预期的效果.使用前缀
时没有任何改变0x.