我正在尝试在图像上设置水印(字符串),并在pdf(使用itext)上设置一些不透明度(css属性)
所以,不透明度是一个浮点类型,一切都可以正常使用pdf,因为它有方法
PdfGState gstate = new PdfGState();
gstate.FillOpacity = textOpacity;
一切正常,但对于我正在使用的图像:
Color color = Color.FromArgb(int alpha, Color color)
所以我的问题是如何将css不透明度转换为alpha?
我找到了某个公式 不透明度=(255 - 透明度)/ 255.0
这是对的吗?因为当我的不透明度为1f(无不透明度)时,alpha将为0,从而产生完全透明的文本......
答案 0 :(得分:1)
公式只是一点点错误。 C#使用0到255之间的值。你使用值0..1,所以公式必须是这样的:
alpha = (int)(textOpacity*255);