【发布时间】:2013-06-22 14:56:40
【问题描述】:
我有一个需要嵌入到签名中的徽标图像。标志是这样的,一个有 4 个部分和每个不同部分的正方形。我想在图像上设置水印,使文字清晰可见。我使用的代码是:
sap.Image = logoSign;
sap.ImageScale = 0.40f;
sap.Image.SetAbsolutePosition(100, 100);
//sap.Image.Transparency.SetValue(50, 0); // Only half image is visible
sap.GetAppearance().AddImage(logoSign);
它已正确缩放和放置。为了实现水印效果,我添加了透明度。当我将其值设为 (30,0) 时,方形徽标的左上角部分可见。设置为 50 时,左半部分可见,然后我尝试使用 80、100、120,但完整的徽标永远不可见。 Elther 1/4 或 1/2 仅可见。未显示的右侧部分具有粉红色和黄色阴影。令人惊讶的是,当我评论 Transparency 行时,整个徽标都可见。
谁能帮我知道,为什么会这样。是的,带有 GIF 的标志只能工作。 PNG 和/或 JPG 徽标不显示。为什么这样 ??我也尝试了其他 jpg 图像,但没有成功。
@mkl,截图中显示的结果
谢谢
【问题讨论】:
-
请提供说明问题的示例 PDF。
-
下载itextpdf.com/book/digitalsignatures并寻找GetTemplate(2)方法。
-
@BrunoLowagie,是的,Bruno 我有那个文件,并且正在使用它作为完整参考。我试着给 PDFTemplatelay2 = sap.GetLayer(2);lay2.AddImage(logoSign); GetLAyer(2) 行给我错误“错误:对象引用未设置为对象的实例。”我已经用上面的代码展示了结果的截图。搞不明白,哪里出了问题?
-
奇怪。不幸的是,我对 C# 不熟悉,而且我从未在 Java 中遇到过这个问题,所以你必须问懂 C# 的人。
标签: c# image pdf itextsharp digital-signature