在pdf区域适合图像,数学问题

时间:2011-02-21 01:33:39

标签: php math pdf-generation tcpdf

现在已经很晚了,我的大脑不能正常工作......

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

为了正确贴合,我必须缩放多少?

提前致谢

2 个答案:

答案 0 :(得分:1)

像素和mm不是相同的单位。 PDF文档在像素中不起作用,因此无关紧要。您只需将图像放在正确的坐标处并指定宽度(mm)(您有,125mm,对吗?)

但是,如果您要问如何在特定约束内拟合它,如宽度 AND 高度为125mm,则取决于您想要发生的事情。可能的结果是:

图像放置在正确的高度,但宽度可能大于或小于高度限制。你想要在那一点上发生什么取决于你是想要剪裁或拉伸图像,还是要显示大于宽度约束的图像。

如果它的宽度更大,你需要决定是否要让图像的宽度偏移图像本身的X坐标,以使图像居中,或者不管。

然后它是相同的,如果你想要它依赖于宽度中的约束:..

所以你有多个选项可以让你想要这个东西的表现(如果我理解你的话)

答案 1 :(得分: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),但根据文档,有些变体可以使用。