如何将目录中的所有图像转换为jpg?

yukashima huksay

我在一个具有顺序名称的目录中有这么多不同的图像,1 2 3 4 ...我想知道是否有可能在jpg不保留宽高比的情况下将它们全部转换为大小并将它们调整为900x900。

我在第一部分中尝试过的是:

$ mogrify -format jpg -- *

但是,当我这样做时,内存使用量增加得如此之快,然后终止了进程。我尝试调整大小的是:

$ mogrify -resize 900x900 -- *
mogrify: insufficient image data in file `109.jpg' @ error/jpeg.c/ReadJPEGImage/1039.
mogrify: no decode delegate for this image format `' @ error/constitute.c/ReadImage/501.
mogrify: no decode delegate for this image format `' @ error/constitute.c/ReadImage/501.
mogrify: no decode delegate for this image format `' @ error/constitute.c/ReadImage/501.
mogrify: no decode delegate for this image format `' @ error/constitute.c/ReadImage/501.

正如我所说的,文件名是连续数字。我也有以下内容:

$ file * | grep -Po "^\d*: *\K[^:,]*(?=,)" | sort | uniq
ASCII text
GIF image data
JPEG image data
PNG image data

那是什么问题呢?我该如何解决?

字节指挥官

我建议使用convertImageMagick中工具:

convert input.png -resize 900x900 output.jpg

-resize选项应该很明显,并且使用文件扩展名自动确定输出文件格式。

要在当前目录中的所有文件上运行此命令,请尝试以下操作:

for inputfile in ./* ; do
    outputfile="${inputfile%.*}.jpg"
    convert "$inputfile" -resize 900x900 "$outputfile" &&
    [[ -e "$outputfile" && "$inputfile" != "$outputfile" ]] && rm "$inputfile"
done

这将从当前目录中获取所有文件(无论文件类型如何),并通过剥离旧扩展名并添加“ .jpg”来为每个输入文件创建各自的输出文件名。然后,它convert如上所述使用来调整图像的大小和转换,从而创建一个新文件并保留原始文件。如果成功(&&),请检查输出文件是否存在,以及输入文件名是否与输出文件名不同(例如,原始文件之一已经是jpg)。现在,如果满足这些条件,我们假定可以删除输入文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将文件夹中的所有 PNG 转换为 JPG 以制作视频?

将所有非JPG图像转换为JPG

如何将目录的所有json文件转换为python中的文本文件?

如何将PDF中的所有文本转换为图像

如何将JPG图像转换为8位PNG图像并保存在C#中?

如何将文件夹中的所有JPG文件转换为PDF并将其合并?

如何将.jpg或.png图像转换为.raw格式?

如何将JPG图像的整数数组转换为JPG图像?

如何在给定目录中递归自动将所有bmp图像转换为png文件?

如何将目录中的所有文本文件转换为一个csv

如何将所有嵌入的图像转换为链接的图像

如何将图像目录转换为.gz?

如何使用imagemagick将目录中的所有图像jpg缩小到另一个目录

如何将所有单词方程式转换为图像?

如何将目录中的所有图像路径加载到熊猫数据框列中?

在React Native中,如何将base64图像转换为jpg然后保存到临时路径?

尝试将目录中的图像从 JPG 转换为 PNG 文件时出现“FileNotFoundError: [Errno 2] 没有这样的文件或目录”

laravel和图像干预,如何将所有图像转换为jpeg并从Input :: file保存?

Ruby:如何将字节数组转换为图像文件(.jpg,.png ...)

如何将n个图像(jpg格式)转换为.p(点刺)格式?

在Python中,如何将列表中的所有项目都转换为浮点数?

如何将表中的所有值转换为Codeigniter中的图表值

如何将所有表从MyISAM转换为InnoDB?

如何将所有内容转换为小写

XQuery | 如何将所有属性转换为元素

如何将所有 <NotAvailable> 转换为 <NA>

如何将图像序列转换为名称中具有不同位数的视频?

如何将sharepoint中的responseText转换为图像?

如何将目录转换为ZIP?