0

我正在尝试在图像上设置水印(字符串)和具有一定不透明度(css属性)的pdf(带有itext)

所以,不透明度是一个浮点类型,一切都适用于pdf,因为它有方法

PdfGState gstate = new PdfGState();
gstate.FillOpacity = textOpacity;

一切都很好,但是对于我正在使用的图像:

Color color = Color.FromArgb(int alpha, Color color)

所以我的问题是如何将 css 不透明度转换为 alpha?

我在某处找到了公式不透明度 = (255 - 透明度) / 255.0

它是否正确?因为当我的不透明度为 1f(无不透明度)时,alpha 将为 0 导致完全透明的文本......

4

1 回答 1

1

公式只是小错误。C# 使用 0 到 255 之间的值。您使用的值是 0..1,所以公式必须是这样的:

alpha = (int)(textOpacity*255);
于 2013-03-13T14:02:30.590 回答