Imagemagick 如果新高度低于X,则裁剪并延伸缩略图的高度

Imagemagick 如果新高度低于X,则裁剪并延伸缩略图的高度,imagemagick,graphicsmagick,Imagemagick,Graphicsmagick,我目前正在努力实现以下目标: 如果图片超过缩略图大小限制,则创建缩略图 如果生成的缩略图宽度大于W,则将其裁剪为W(取中心部分) 如果此时图片的高度(原始或调整大小为1.)小于H,请将高度增加到H,并用颜色/透明度填充。不要调整图像大小,只需填充空白即可 第三部分给我带来麻烦。我目前拥有的是以下内容 gm convert img.jpg -thumbnail 'x300>' -gravity Center -background skyblue -crop '600x300+0+0' -e

我目前正在努力实现以下目标:

  • 如果图片超过缩略图大小限制,则创建缩略图
  • 如果生成的缩略图宽度大于W,则将其裁剪为W(取中心部分)
  • 如果此时图片的高度(原始或调整大小为1.)小于H,请将高度增加到H,并用颜色/透明度填充。不要调整图像大小,只需填充空白即可
  • 第三部分给我带来麻烦。我目前拥有的是以下内容

    gm convert img.jpg -thumbnail 'x300>' -gravity
    Center -background skyblue -crop '600x300+0+0' -extent x300 -strip thumbnail.jpg
    
    但延伸会导致宽度增加。是否有一个命令来实现我想要的

    示例图像(356x200):

    当前结果(534x300):

    预计(356x300):


    大于600px的缩略图应裁剪为最大600宽。所以我想我需要的是
    gm convert img.jpg-thumboil'600x300>”-背景天蓝-重心-范围{{current_width}}x300-strip thumboil.jpg
    。但我认为这不是内置功能?

    您只指定了测试x300的维度。您不应该需要裁剪,因为-范围将在需要时进行裁剪。因此,作为猜测,请提供一个输入和输出示例,这样我们就可以看到您的实际操作。@fmw42我已经更新了描述。我想我需要的是-extent{{current_width}}x300。有办法吗?在IM7
    magick图像中-范围“%wx300”…
    在im6中,您必须将命令分成两部分,分别获取当前宽度并放入变量中。然后将变量用作“-extent${current_width}x300”。@fmw42可以将其作为答案发布。我按照惯例预先计算了缩略图的宽度