【问题标题】:scaling images in iTextSharp在 iTextSharp 中缩放图像
【发布时间】:2011-02-14 09:16:52
【问题描述】:

我在缩放要插入的图像时遇到了一些问题。 我一定是做错了什么,因为无论我做什么,它都不会改变。 这是我目前拥有的代码,但它似乎不起作用。 无论我尝试什么值,图像都可以很好地插入,只是无法缩放。

我做错了什么明显的事情吗?人们做错了什么常见的事情? 我正在使用 C#,但我假设所有语言的语法都是相同的(或多或少)。

    Image imgSpine = Image.GetInstance(strSpine);
    imgSpine.ScaleAbsolute(2, 55);
    SpineCell.Image = imgSpine;

    SpineCell.Image.Border = Rectangle.NO_BORDER;
    SpineCell.VerticalAlignment = Element.ALIGN_TOP;
    SpineCell.HorizontalAlignment = Element.ALIGN_LEFT;

    pTable.AddCell(SpineCell);

【问题讨论】:

  • SpineCell 是什么类型?在您调用 ScaleAbsolute 之后,ScaledHeightScaledWidth 是否有您期望的值?也许图像正在缩放,但它的拉伸以适合容器?

标签: c# image pdf itextsharp scaling


【解决方案1】:

查看the sourcecell.Image 总是缩放以适应单元格。您需要将图像包装在 Chunk 或类似的 Element 中,这些 Image 将包含 Image

call.Image 属性也始终写入 PdfPTable 中的 PdfPTable.TEXTCANVAS 画布,因此您无法控制 Z 顺序。

选项:

  1. 改为将图像包装在块中。
  2. 使用 Cell 事件处理程序并自己绘制图像。

数字 1 可能要容易得多

【讨论】:

  • 你是对的。谢谢!我玩了一下,我可以使用 Cell.AddElement() 直接添加图像,无需块/等。
猜你喜欢
  • 2012-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-31
  • 2011-05-18
  • 2013-05-29
  • 1970-01-01
相关资源
最近更新 更多