使用 ImageMagick 制作方形缩略图(转换)?

使用 ImageMagick 制作方形缩略图(转换)?

如何使用 ImageMagick 创建方形/裁剪缩略图?裁剪方法如下。

裁剪

答案1

ImageMagick 官方文档对此进行了解释,“剪切缩略图以适合”

另一种方法是,不是填充图像以适合我们想要的特定缩略图大小,而是剪掉图像中不适合最终尺寸的部分。

当然,这意味着您实际上会丢失原始图像的某些部分,特别是图像的边缘,但结果是图像中心部分的放大缩略图。这通常(但并非总是)是图像的主要主题,因此这是一种实用的缩略图创建方法。

从 IM v6.3.8-3 开始,添加了特殊调整大小选项标志 '^' 以简化此操作。我们只需使用此标志调整大小,然后裁剪超出所需大小的图像部分。

在示例命令的上下文中:

convert -define jpeg:size=200x200 hatching_orig.jpg  -thumbnail 100x100^ \
          -gravity center -extent 100x100  cut_to_fit.gif

答案2

Ignacio 链接到了正确的文档,但是为了方便起见,我将在这里将其粘贴:

convert -define jpeg:size=200x200 original.jpeg  -thumbnail 100x100^ -gravity center -extent 100x100  thumbnail.jpeg

类似地,以下是针对 GraphicsMagick 的:

gm convert -size 200x200 original.jpeg -thumbnail 100x100^ -gravity center -extent 100x100 +profile "*" thumbnail.jpeg

解释:

  • -size 200x200告诉 jpeg 解码器我们只需要这个分辨率,这样它可以节省内存并更快地读取源图像
  • -thumbnail 100x100^快速调整大小,使最短边为 100
  • - gravity center将下一个操作置于中心
  • -extent 100x100将图像应用到 100x100 画布
  • +profile "*"不要将任何元信息保存到 jpeg(使生成的图像更小)

答案3

这是一个更简单的方法:

以下命令将较小的一侧调整为 100 像素并裁剪为 100x100 的正方形。您可以添加-strip命令来减小文件大小。

convert original.jpg -resize "100^>" -gravity center \ 
                     -crop 100x100+0+0 -strip thumbnail.jpg

与其他程序不同,它不会尝试节省内存。相反,它会执行您想要的操作,而不会执行更多操作。此外,它不会对图像进行放大。

答案4

我认为你正在寻找类似的东西:

convert -crop 100x100+50+50 input_image.jpg output_image.jpg 

哪儿100x100尺寸最后一个矩形50x50抵消

相关内容