在smarty中调整图像大小?

时间:2012-09-25 01:01:37

标签: php smarty image-scaling image-size

在smarty中有一个imagesize函数,你可以传递它的高度和宽度,它会缩小它直到第一个维度属性相遇。

E.g。如果您的图片是5000x3000

并传递函数width=500 height=150

您最终会得到一张500x300

的图片

您还可以传递函数crop=true,它会在不适合的尺寸上裁剪图像,使其适合尺寸,但会切断部分图像。

我想知道是否有办法让它缩小图像直到满足两个尺寸,然后用透明背景填充剩下的区域,以图像为中心。

所以你最终会将实际图像缩小到350x150,然后它会向左和向右填充75像素的透明度,这样整个文件就是500x150

如果传递的图像小于给定的尺寸,则透明像素填充剩余空间时会发生相同的过程。

smarty有这种能力吗?或者有办法让它发挥作用吗?

1 个答案:

答案 0 :(得分:0)

不,没有这样的功能。

唯一的功能是html_image,它会自动将宽度和高度插入到img-tag中,具体取决于实际的图像大小。

但没有其他方式。

然而,你可以编写自己的plugin,这可以让smarty能够扩展图像。