【问题标题】:Fit image in an pdf area, math question将图像放入 pdf 区域,数学问题
【发布时间】:2011-02-21 01:33:39
【问题描述】:

已经很晚了,我的大脑无法正常工作......

我有一个 244x175 像素的图像,我想缩放它以适应我使用 www.tcpdf.org. 生成的 PDF 的 125 毫米区域

我必须缩放多少才能正确适合?

提前致谢

【问题讨论】:

  • 视情况而定。如果你根本不缩放它,图像会有多大(以毫米为单位)?
  • 目标空间是 125 平方毫米,还是在一个维度上只有 125 毫米,而在另一个维度上需要多少可用空间?
  • 原始图像的像素尺寸与您希望如何缩放图像无关,除非您想保持其比例。您需要拉伸以适应 125mmx125mm 的区域,还是需要保持原始比例。

标签: php math pdf-generation tcpdf


【解决方案1】:

好的。 PDF 使用点。 1 点是 1/72 英寸。 125 毫米 = 4.921 英寸。 4.921 * 72 = 354.312 点。小数点就好了。

而且看起来 TCPDF 会抽象出大部分工作,除非您进行一些认真的挖掘,而您不需要这样做。

根据Image 的文档,您需要做的就是指定要适合的尺寸,然后它会按比例缩放另一个尺寸:

// draw an image that is 125mm wide, and scaled to whatever height is needed
// to maintain the same proportions
TCPDF::image($path, $xloc, $yloc, 
             354.321, 0, ''/*no link*/,
             ''/*use path extension for type*/,
             true /*resize*/ ); // and let the rest default

我自己从未使用过 TCPDF(或 PHP),但根据文档,一些变体将起作用。

【讨论】:

    【解决方案2】:

    像素和毫米不是同一个单位。 PDF 文档不能以像素为单位,所以没关系。您只需将图像放置在正确的坐标处并以 mm 为单位指定宽度(您有,125mm,对吗?)

    但是,如果您要询问如何使其适应特定约束,例如宽度 AND 为 125 毫米,这取决于您想要发生的情况。可能的结果是:

    图像放置在正确的高度,但宽度可能大于或小于高度限制。你想在那个时候发生什么取决于你是否希望图像被裁剪或拉伸,甚至显示得比宽度限制更大。

    如果宽度大一点没关系,你需要决定是否要让图片的宽度偏移图片本身的X坐标,从而使图片居中,或者随便。

    如果你想让它依赖于宽度的约束也是一样的:..

    所以你有多种选择你希望这个东西如何表现(如果我理解正确的话)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-28
      • 2012-01-25
      • 2016-09-29
      • 2012-12-25
      • 1970-01-01
      • 2012-08-02
      • 2012-09-09
      • 2011-08-02
      相关资源
      最近更新 更多