iText7 - 无法设置 SquareAnnotation 内部颜色的不透明度
iText7 - unable to set the the Opacity for SquareAnnotation Interior color
团队,
我正在使用 iText7 C# 库。我无法为方形注释 InteriorColor 设置不透明度。
下面是我正在使用的代码。我尝试了我们为 SquareAnnotation 设置不透明度的所有不同方法,但没有成功。我错过了什么吗?
private PdfSquareAnnotation AddAnnotation(float rectHeight, float rectWidth, float x, float y)
{
Rectangle rect = new Rectangle(x, y, rectWidth, rectHeight);
PdfSquareAnnotation squareAnnotation = new PdfSquareAnnotation(rect);
squareAnnotation.SetColor(ColorConstants.GREEN);
squareAnnotation.SetTitle(new PdfString("This is the title"));
squareAnnotation.SetContents("This is the contents of the annotation. bla bla..");
squareAnnotation.SetNonStrokingOpacity(25);
squareAnnotation.SetOpacity(new PdfNumber(30));
squareAnnotation.SetInteriorColor(new float[] { (float)0.294, (float)0.552, (float)0.968 });
//squareAnnotation.SetStrokingOpacity(25);
return squareAnnotation;
}
输出:
Opacity for interior color is not being applied
提前致谢
原因是您使用了不透明度值 25 和 30 - 不透明度值范围是 0.0(完全透明)到 1.0(完全不透明)。因此,25 和 30 实际上是 过度不透明 。
通过切换到
squareAnnotation.SetNonStrokingOpacity(0.25f);
squareAnnotation.SetOpacity(new PdfNumber(0.30f));
您获得了所需的部分透明度。
团队, 我正在使用 iText7 C# 库。我无法为方形注释 InteriorColor 设置不透明度。
下面是我正在使用的代码。我尝试了我们为 SquareAnnotation 设置不透明度的所有不同方法,但没有成功。我错过了什么吗?
private PdfSquareAnnotation AddAnnotation(float rectHeight, float rectWidth, float x, float y)
{
Rectangle rect = new Rectangle(x, y, rectWidth, rectHeight);
PdfSquareAnnotation squareAnnotation = new PdfSquareAnnotation(rect);
squareAnnotation.SetColor(ColorConstants.GREEN);
squareAnnotation.SetTitle(new PdfString("This is the title"));
squareAnnotation.SetContents("This is the contents of the annotation. bla bla..");
squareAnnotation.SetNonStrokingOpacity(25);
squareAnnotation.SetOpacity(new PdfNumber(30));
squareAnnotation.SetInteriorColor(new float[] { (float)0.294, (float)0.552, (float)0.968 });
//squareAnnotation.SetStrokingOpacity(25);
return squareAnnotation;
}
输出:
Opacity for interior color is not being applied
提前致谢
原因是您使用了不透明度值 25 和 30 - 不透明度值范围是 0.0(完全透明)到 1.0(完全不透明)。因此,25 和 30 实际上是 过度不透明 。
通过切换到
squareAnnotation.SetNonStrokingOpacity(0.25f);
squareAnnotation.SetOpacity(new PdfNumber(0.30f));
您获得了所需的部分透明度。