image - 使用graphicsmagick或imagemagick调整图像大小,使其周围没有空白

标签 image image-processing imagemagick graphicsmagick

我正在使用graphicsmagick 将图像大小调整为缩略图,但它添加了白色的周围边框填充。

enter image description here

我使用的命令是:

gm 转换矩阵.jpg -resize "80x80>"-重力中心 -extent 80x80 缩略图.jpeg

如您所见,图像周围有一些白色填充,但我不想要这样。理想情况下,我希望(整个图像而不仅仅是其中的一部分)填充所需的 80x80 输出尺寸。

如何在 imagemagick 或graphicsmagick 中实现这一点?

最佳答案

我使用 ImageMagick this image 。该解决方案需要知道输入图像的大小。

输入

Input

该图像水平有 145 像素,垂直有 200 像素。

裁剪

从图像顶部裁剪:

convert -crop 145x145+0+0 -resize 80x80 matrix.jpg thumbnail.jpeg

我使用145x145来从原始图像中提取一个正方形。 +0+0 是提取的正方形的偏移量,即左上角。

Crop

以图像中心裁剪:

convert -crop 145x145+0+27 -resize 80x80 matrix.jpg thumbnail.jpeg

Crop

垂直偏移设置为 27 因为我们必须删除顶部或底部的 55 (200 - 145) 像素,所以我们需要删除顶部 27 (55 ÷ 2) 像素和底部 28 像素。

裁剪图像底部:

convert -crop 145x145+0+55 -resize 80x80 matrix.jpg thumbnail.jpeg

Crop

调整大小而不裁剪

convert -resize 80x80\! matrix.jpg thumbnail.jpeg

! flag (按照文档中的建议使用 \! 转义)在 resize 参数强制 ImageMagick 忽略宽高比之后。

Ignore aspect ratio

关于image - 使用graphicsmagick或imagemagick调整图像大小,使其周围没有空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24299938/

相关文章:

Javascript : store an image in the browser, 然后在 Markdown 中使用它

javascript - 如何在图片较多的网页上实现平滑滚动?

c++ - opencv 简单的 Blob 检测,得到一些未检测到的 Blob

png - 如何使用imagemagick将透明png旋转45度,并使新图像保持透明?

bash - 如何使用 ImageMagick 命令填充图像高度的一定百分比?

jquery - 在 jQuery 中创建 img

javascript - 将图像添加到给定链接的表中

image-processing - 为给定图像设置色温(如在 Photoshop 中)

java - 匹配两个图像

linux - 想要从 Java 调用然后循环 linux shell 命令