我正在从更大的图像创建缩略图,并且已经成功使用此命令一段时间了:
convert FILE -resize "64x" -crop "64x64+0+16" +repage -strip OUTFILE
我还做了一些与问题无关的其他处理。我意识到这根本不会调整分辨率,所以如果我使用 300dpi 的图像,它最终会在某些设备上显示得非常小。我想将其重新采样为 72x72,所以我一直在尝试使用以下命令:
convert FILE -resize "64x" -crop "64x64+0+16" +repage -strip -resample 72x72 OUTFILE
并期望将 300 dpi 的 64x64 图像重新采样为 72 dpi 的 64x64 图像,但相反,我得到了非常有趣的尺寸和密度。
这是未经重新采样的原始文件和后处理文件的“识别”输出:
coneybeare $ convert "aa.jpg" -crop "64x64+0+16" +repage -strip "aa.png"
coneybeare $ for image in `find . -type f`; do identify $image; identify -verbose $image | egrep "^ Resolution"; done
./aa.jpg JPEG 1130x1695 1130x1695+0+0 8-bit DirectClass 1.492MiB 0.000u 0:00.000
Resolution: 300x300
./aa.png PNG 64x64 64x64+0+0 8-bit DirectClass 7.46KiB 0.000u 0:00.000
Resolution: 118.11x118.11
这里是“使用重新采样的命令的识别输出:
coneybeare $ convert "aa.jpg" -crop "64x64+0+16" +repage -strip -resample 72x72 "aa.png"
coneybeare $ for image in `find . -type f`; do identify $image; identify -verbose $image | egrep "^ Resolution"; done
./aa.jpg JPEG 1130x1695 1130x1695+0+0 8-bit DirectClass 1.492MiB 0.000u 0:00.000
Resolution: 300x300
./aa.png PNG 15x15 15x15+0+0 8-bit DirectClass 901b 0.000u 0:00.000
Resolution: 28.34x28.34
因此,问题是:我做错了什么,我该如何修复它以便最终结果是 72dpi 的 64x64 裁剪缩略图?
答案1
你看过了吗常规缩略图部分的ImageMagick 用法网站?这很好。那里的例子通常使用选项thumbnail
。来自生成缩略图的一般方法:
这不仅会调整图像大小,还会删除原始 JPEG 图像中可能存在的任何和所有配置文件和注释信息。此外,由于它使用“-sample”调整大小运算符对图像进行初始缩小,因此速度相当快,并且对于小缩略图也能产生良好的效果。
您是否在这些图像周围添加了某种边框?此外,IM 中有一个“新”几何运算符^
,填充区域标志:
从 IM v6.3.8-3 开始,IM 有了一个新的几何选项标志 '^',用于根据最小拟合尺寸调整图像大小。也就是说,调整图像大小以完全填充(甚至溢出)给定的像素区域。
因此你可以尝试:
转换文件 -缩略图 64x64^ -重心 -范围 64x64+0+16 -剥离 OUTFILE