Joe*_*Fan 43 linux jpeg bmp conversion
有人给我发了一堆 BMP 文件,我需要它们的 JPEG 格式。我可以使用 GIMP 将它们一一转换,但我宁愿一次性完成。我有 Ubuntu。
hyp*_*lug 61
您可以使用 ImageMagick 的 mogrify 工具
mogrify -format jpg *.bmp
nik*_*nik 20
您很可能在 Ubuntu 上安装了ImageMagick。
这可以做,
convert filename.bmp filename.jpg
Run Code Online (Sandbox Code Playgroud)
更新:
将mogrify(通过回答hyperslug和简称cjm)也是一个不错的选择。
使用mogrify程序来调整图像大小、模糊、裁剪、去斑、抖动、绘制、翻转、连接、重新采样等等。
此工具类似于转换,除了原始图像文件会被您请求的任何更改覆盖
(除非您使用该-format选项更改文件后缀)。
小智 8
让我对鲑鱼的回答做一点改动:
for i in `ls *.bmp`; do convert $i $i.jpg; done
Run Code Online (Sandbox Code Playgroud)
以上工作但生成名为“bmp.jpg”的文件。您可以使用以下命令获取 .jpg 文件:
for i in *.bmp; do convert ${i} ${i%bmp}jpg; done
Run Code Online (Sandbox Code Playgroud)
有关命令的man bash详细信息,请参阅for。该${i%bmp}部分表示字符串“${i}”,末尾没有“bmp”子字符串。
还有其他操作可以转换“${i}”中的字符串。“$i”是“${i}”的简写。ls *.bmp鲑鱼答案中的部分表示“执行” ls *.bmp,然后 fori部分将每个由空格分隔的字符串分配给i“。实现相同是*.bmp因为它匹配目录中的所有文件名。
有一个缺点for- 如果您目录中的文件名称中有空格,例如“婚礼图片 1.bmp”,它将被分配 3 次给ivar,执行以下命令:
convert wedding wedding.jpg
convert picture picture.jpg
convert 1.bmp 1.bmp.jpg
Run Code Online (Sandbox Code Playgroud)
在我的回答中,匹配 "${i%bmp}" 也失败了。
但是有一个解决方案 - 您可以改用该find命令。详情请参阅man find。您应该键入如下内容(请在尝试之前使用手册页检查语法):
find -name *.bmp -type f -exec convert '{}' '{}'.jpg \;
Run Code Online (Sandbox Code Playgroud)
(对名字部分不是很确定,对部分有一些疑问-exec,先看man find)
如果您想将所有图像加入一个 .jpg 文件中,您可以将它们与其他过滤器连接起来,如第一个答案中提到的那样。
| 归档时间: |
|
| 查看次数: |
47926 次 |
| 最近记录: |