问题描述
我想将给定文件夹中的所有图像缩放到相同的宽度(但不同的缩放高度不同)。我如何使用GUI-based或命令行工具来完成此操作?
对于奖励积分,是否有可能基于其初始宽度来限制哪些图像被缩放(即,仅具有宽度> x和/或宽度< y)的缩放图像?
最佳解决方案
这与imagemagick非常容易实现。您应该可以将其安装在软件中心。我会建议它对图像进行批处理。
批量调整大小非常简单(我使用Ubuntu 11.10进行了测试)。使用以下命令将每个.jpg文件的大小调整为200像素宽度,并保持纵横比:
$ convert '*.jpg[200x]' resized%03d.png
您可以使用-set选项来维护文件名。例如:
convert "images/*.jpg[250x]" -set filename:base "%[base]" "images/new_folder/%[filename:base].jpg"
这只是抓住imagemagick力量的表面。调整can be tuned endlessly的大小。要进行更高级的调整大小,您必须使用-resize
选项。
您可以限制缩放大小:
$ convert '*.jpg[300x>]' thumb-300-%03d.png
或放大:
$ convert '*.jpg[300x<]' thumb-300-%03d.png
看看geometry documentation以查看更多选项。
次佳解决方案
对于GUI来说,Phatch“点击一次就能胜过千张照片”对于如此快速的工作来说是最好的选择。它已经在Ubuntu存储库中。
sudo apt-get install phatch
-
添加比例&保存项目
-
设置比例/调整大小选项
-
设置保存/输出选项
-
跑
-
设置输入文件夹
-
点击要执行的批次
第三种解决方案
尝试这个:
sudo apt-get install gimp-plugin-registry
然后,打开Gimp并打开Filters > Batch > Batch Process
中的批量插件。
在Input
选项卡中选择图像,然后在surprisingly-named Resize
选项卡中定义调整大小操作。
更多信息可以在here找到。
第四种方案
尝试使用ImageMagick工具的mogrify
命令。
-
给出一条路径将输出与原件分开
-
在宽度示例下方给出所需的缩略图宽度或高度
-
这样你保持原来的文件名:-)
例:
$ mogrify -path small/ -auto-orient -thumbnail 300x *.jpg
第五种方案
这是我通过shrinking only larger images做到的:
find . -iname \*.jpg -exec convert -verbose -quality 80 -resize 1600\> "{}" "FOO_FOLDER/{}" \;
它会适当地缩放高度。
要使用convert
命令,您需要通过sudo apt-get install imagemagick
安装Imagemagick。
第六种方案
回答并接受(和我使用ImageMagick),但为了完整…我有一个non-technical老板想要一个简单的查看器与一些基本的工具,它必须是GUI。我为他决定了gThumb。
在缩略图视图中,您…
-
选择你想调整大小的图像
-
启动调整大小功能(点击扳手图标>调整图片大小..)
-
根据像素或百分比放入新的尺寸
-
选择一个输出文件夹,然后离开。
第七种方案
对于批量图像调整大小,我查看了许多软件包,并最终找到一个具有可用界面的界面 – 转换。一旦您发现重要设置隐藏在可滚动左侧窗格中,一切都很好。不知道这是否符合所有的OP使用案例,但您可能不需要看imagemagick或phatch的奇怪UI。奇怪的是,像digikam,f-spot,fotoxx或shotwell等照片管理软件包似乎没有认识到在上传到photobucket或(gag)flickr等在线服务之前需要复制/调整批量图像。这些服务只希望我们按自己的方式做事,所以我不相信他们会备份原件。