如果原始图像小于指定的宽度,请添加水平填充

时间:2015-03-30 16:36:49

标签: imageresizer

我不认为这是开箱即用的,但我想确保。 我们想做以下事情。

获取任何图像输入并强制输出宽度为固定大小。如果宽度小于输出宽度,我们希望将图像居中并向图像添加水平填充,但不添加垂直填充。

例如

  1. 原始图片为700px x 400px
  2. 最终输出尺寸为1000像素宽x 400像素。这将包括左侧150px填充和右侧150px填充(无顶部/底部填充)。
  3. 我知道我们可以升级图像(scale = both)或设置画布比例(但是添加了顶部/底部填充)或者我们可以为图像添加填充但是没有一个是我们想要的。

    感谢您的帮助


    对Nathanael的回应

    您的评论完全正确。

    1. 我希望http://z.zr.io/ri/red-leaf.jpg?width=1000&scale=canvas&bgcolor=gray能够正常工作

    2. 是的,我们的问题是图像高度事先不知道,但很高兴知道它的工作高度已知

    3. 我认为如果有一个scale = padwidth的命令可以用于变量高度,那将会很棒。或者padwidth = true和padheight = false的设置可以与scale = canvas一起使用。

1 个答案:

答案 0 :(得分:1)

因此,我们假设您已获得800x600px image,并申请?width=1000&scale=canvas。你原本期望这会产生一个1000x600像素的图像,但是它产生了一个1000x750像素的图像,对吗?

http://z.zr.io/ri/red-leaf.jpg?width=1000&scale=canvas&bgcolor=gray

如果明确指定高度,填充消失 - 但您可能事先不知道图像高度,对吗?

http://z.zr.io/ri/red-leaf.jpg?width=1000&scale=canvas&bgcolor=gray&height=600

什么是最不令人惊讶的行为 - 维持宽高比,或只添加所需的最小填充?您如何期望这种行为或作为命令公开?