根据图像大小将 canvas 添加到高度或宽度
Add canvas to height or width depending on imagesize
对 Imagemagick(或其他可行的解决方案)有以下问题
案例:我使用 photoshop 裁剪图像,然后再上传到我的网上商店。我们出售裤子示例。我自动剪掉了它们,所以空白被删除了,我得到了一张只有裤子的漂亮图像。问题是该图像的宽度可以低于 250 像素。 Google 希望 google 购物时衣服的图片最小尺寸为 250x250。
所以我寻找以下解决方案:
在我的 linux 网络服务器上搜索高度或宽度低于 250 像素的子目录中的图像。将 canvas 大小添加到高度或宽度(居中),以便最小宽度或高度为 250 像素。
最好(也是最快)的解决方案是什么?我有很多图片..:-)
谢谢,
HRR
==
编辑:澄清:
- 旧尺寸(示例 1):180x900 -> 新尺寸 250 x 900。
- 旧尺寸(示例 2):900x240 -> 新尺寸:900 x 250。
所以我不想要 250x250 的方形图片。最低点需要最小宽度或高度为 250px
我用 .jpg 处理图像
图像应该被覆盖。
谢谢!
在ImageMagick中,可以使用-extent来填充图片。假设你想要周围都是垫子(居中图像),那么
convert image -background somecolor -gravity center -extent 250x250 result
其中 somecolor 可以是任何颜色,包括 "transparent"。如果你想让 ImageMagick 也做修剪,那么
convert image -fuzz XX% -trim +repage -background somecolor -gravity center -extent 250x250 result
其中 XX 是介于 0 和 100 之间的某个值,通常接近于零,它允许背景从统一颜色变化一些。它允许删除背景颜色的一些百分比变化。
如果您有较大的图像,您也可以让 imagemagick 调整它们的大小。
convert image -fuzz XX% -trim +repage -resize 250x250 -background somecolor -gravity center -extent 250x250 result
最佳解决方案是:
- 创建一个图像缓存,用于存储动态调整大小的图像。
- Link 将您的所有图像传输到一个脚本,该脚本会检查缓存中的
您指定尺寸的图像,然后从
缓存或调整大小->存储在缓存中->传送图像。
您使用的哪个网上商店还没有这样做?
ImageMagick 通常包含 "mogrify" 程序,该程序可以批量调整图像大小、居中和填充图像。像这样的命令将调整当前目录中每个 *.png 图像的大小以适应最大 250 像素的宽度或高度,用白色填充它们到 250x250 以填充填充,并将它们写入原始文件名。
mogrify -resize 250x250 -background white -gravity center -extent 250x250 *.png
这将覆盖原始图像,因此请考虑 运行 复制它,或使用 mogrify 的“-path somewhere”为输出文件指定另一个目录。
此命令使用 ImageMagick 的 "mogrify" 将 运行 遍历当前目录中的所有 *.jpg 图像,并根据需要以白色填充居中每个图像,使最小尺寸为 250 像素宽,高的。超过 250 像素的尺寸保持不变。
mogrify -virtual-pixel white \
-set option:distort:viewport "%[fx:max(w,250)]x%[fx:max(h,250)]" \
-distort affine "0,0 %[fx:250>w?(250-w)/2:0],%[fx:250>h?(250-h)/2:0]" *.jpg
计算出视口的必要尺寸在两个方向至少为 250 像素。然后,仅当图像以某种方式小于该视口时,它才会将图像滑过或向下滑动,或同时滑动图像,使其在现在放大的视口中居中。虚拟像素设置确保填充为白色。
它会覆盖输入图像,因此请谨慎使用。
您可能希望包含“-quality 100”以尽量减少以 JPG 格式保存时发生的质量损失。
我在 Windows 中用 IM7 编写了这个命令,但是这个命令是 *nix 语法。我在 bash 中使用 IMv6.8.9 对其进行了测试,它似乎可以正常工作。
对 Imagemagick(或其他可行的解决方案)有以下问题
案例:我使用 photoshop 裁剪图像,然后再上传到我的网上商店。我们出售裤子示例。我自动剪掉了它们,所以空白被删除了,我得到了一张只有裤子的漂亮图像。问题是该图像的宽度可以低于 250 像素。 Google 希望 google 购物时衣服的图片最小尺寸为 250x250。
所以我寻找以下解决方案:
在我的 linux 网络服务器上搜索高度或宽度低于 250 像素的子目录中的图像。将 canvas 大小添加到高度或宽度(居中),以便最小宽度或高度为 250 像素。
最好(也是最快)的解决方案是什么?我有很多图片..:-)
谢谢,
HRR
==
编辑:澄清:
- 旧尺寸(示例 1):180x900 -> 新尺寸 250 x 900。
- 旧尺寸(示例 2):900x240 -> 新尺寸:900 x 250。
所以我不想要 250x250 的方形图片。最低点需要最小宽度或高度为 250px
我用 .jpg 处理图像 图像应该被覆盖。
谢谢!
在ImageMagick中,可以使用-extent来填充图片。假设你想要周围都是垫子(居中图像),那么
convert image -background somecolor -gravity center -extent 250x250 result
其中 somecolor 可以是任何颜色,包括 "transparent"。如果你想让 ImageMagick 也做修剪,那么
convert image -fuzz XX% -trim +repage -background somecolor -gravity center -extent 250x250 result
其中 XX 是介于 0 和 100 之间的某个值,通常接近于零,它允许背景从统一颜色变化一些。它允许删除背景颜色的一些百分比变化。
如果您有较大的图像,您也可以让 imagemagick 调整它们的大小。
convert image -fuzz XX% -trim +repage -resize 250x250 -background somecolor -gravity center -extent 250x250 result
最佳解决方案是:
- 创建一个图像缓存,用于存储动态调整大小的图像。
- Link 将您的所有图像传输到一个脚本,该脚本会检查缓存中的 您指定尺寸的图像,然后从 缓存或调整大小->存储在缓存中->传送图像。
您使用的哪个网上商店还没有这样做?
ImageMagick 通常包含 "mogrify" 程序,该程序可以批量调整图像大小、居中和填充图像。像这样的命令将调整当前目录中每个 *.png 图像的大小以适应最大 250 像素的宽度或高度,用白色填充它们到 250x250 以填充填充,并将它们写入原始文件名。
mogrify -resize 250x250 -background white -gravity center -extent 250x250 *.png
这将覆盖原始图像,因此请考虑 运行 复制它,或使用 mogrify 的“-path somewhere”为输出文件指定另一个目录。
此命令使用 ImageMagick 的 "mogrify" 将 运行 遍历当前目录中的所有 *.jpg 图像,并根据需要以白色填充居中每个图像,使最小尺寸为 250 像素宽,高的。超过 250 像素的尺寸保持不变。
mogrify -virtual-pixel white \
-set option:distort:viewport "%[fx:max(w,250)]x%[fx:max(h,250)]" \
-distort affine "0,0 %[fx:250>w?(250-w)/2:0],%[fx:250>h?(250-h)/2:0]" *.jpg
计算出视口的必要尺寸在两个方向至少为 250 像素。然后,仅当图像以某种方式小于该视口时,它才会将图像滑过或向下滑动,或同时滑动图像,使其在现在放大的视口中居中。虚拟像素设置确保填充为白色。
它会覆盖输入图像,因此请谨慎使用。
您可能希望包含“-quality 100”以尽量减少以 JPG 格式保存时发生的质量损失。
我在 Windows 中用 IM7 编写了这个命令,但是这个命令是 *nix 语法。我在 bash 中使用 IMv6.8.9 对其进行了测试,它似乎可以正常工作。