svg - 将一堆图像从 svg 转换为 png

标签 svg imagemagick png imagemagick-convert

我需要将文件夹中的所有图像从 svg 转换为 png。假设图像被称为 test1.svg、test2.svg、...、testn.svg。使用以下脚本:

for i in *.svg
do
    convert "$i" PNG24:"$i".png
done

正确完成工作,图像名为 test1.svg.png、test2.svg.png、...、testn.svg.png。我的问题是:

1) 是否可以将输出图像命名为 test1.png、test2.png、...、testn.png,实质上是从名称中删除“svg”部分?

2)是否可以将它们直接发送到其他目录?

谢谢!

最佳答案

是的。您可以创建另一个目录并将它们发送到那里,如下所示:

mkdir other
for i in *.jpg; do
   convert "$i" PNG24:other/"${i%jpg}png"
done

如果您有大量图像需要处理,并且您使用的是 macOS 或 Linux,我建议使用 GNU Parallel 来更快地完成工作:

mkdir other
parallel convert {} PNG24:other/{.}.png ::: *jpg

关于svg - 将一堆图像从 svg 转换为 png,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45139748/

相关文章:

html - SVG 高度拉伸(stretch)

javascript - 简化 D3js 的 SVG 路径生成的字符串

c++ - 在单个 DLL 中编译 ImageMagick

扩展 IMagick 类的 PHP 怪异

java - 在不丢失透明度的情况下在 Java 中调整图像大小

javascript - 使用 webpack 5 将 SVG 导入为 React 组件

javascript - 具有 d3.js 和高度属性的响应式 SVG

php - 我如何将这个 ImageMagick 命令翻译成它的 PHP Imagick 等效命令?

java - 使用 imageinputstream 和 bufferedimage 从 gif 动画创建 png 条时丢失透明度

php - 为什么我不能使用 PHP 从 .png 图像到 Base64 编码,再返回到 .png 图像?