2
家伙嗨如果用户上传了一个新的标志我有一个表格字段,它比默认的标志大我有这样的情况:我有一个标志形象,一些作品的一部分。这iTextSharp的叠加图像
。
然后,我使用该表单域来定位新图像。
的问题是我需要设置表单字段为白色的背景色,以便它涵盖在新的图像比旧标志小事件的旧标识..
我做了什么是:
foreach (var imageField in imageReplacements)
{
fields.SetFieldProperty(imageField.Key, "bgcolor", iTextSharp.text.Color.WHITE, null);
fields.RegenerateField(imageField.Key);
PdfContentByte overContent = stamper.GetOverContent(imageField.Value.PageNumber);
float[] logoArea = fields.GetFieldPositions(imageField.Key);
if (logoArea != null)
{
iTextSharp.text.Rectangle logoRect = new iTextSharp.text.Rectangle(logoArea[1], logoArea[2], logoArea[3], logoArea[4]);
var logo = iTextSharp.text.Image.GetInstance(imageField.Value.Location);
if (logo.Width >= logoRect.Width || logo.Height >= logoRect.Height)
{
logo.ScaleToFit(logoRect.Width, logoRect.Height);
}
logo.Alignment = iTextSharp.text.Image.ALIGN_LEFT;
logo.SetAbsolutePosition(logoRect.Left, logoArea[2] + (logoRect.Height - logo.ScaledHeight)/2);
// left: logoArea[3] - logo.ScaledWidth + (logoRect.Width - logo.ScaledWidth)/2
overContent.AddImage(logo);
}
}
的问题,这是该领域的背景颜色设置为白色和图像,然后没有出现..我删除SetFieldProperty和RegenerateField命令和图像替换工作正常..
有没有aw ay在图层上设置堆叠顺序?
马克嗨,你碰巧有我怎么可能在是宽度上画一个白色矩形的例子和logoRect的高度?然后将图像添加到它? – TheLearningDev 2011-03-16 00:19:50