안녕 얘들 아 내가 어떤 작품의 일부로 로고 이미지가 인스턴스 ..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 명령 및 이미지 교체가 잘 작동 ..
레이어에 스태킹 순서를 설정하려면 어떻게해야합니까?
안녕하세요 마크, 당신이 일어날 것이라고 나는 폭이 맨 위에 흰색 사각형을 그릴 수있는 방법의 예를 가지고 logoRect의 높이와 높이? 그런 다음 이미지를 추가하십시오. – TheLearningDev