可以将位图/光栅图像嵌入SVG(通过图像标记) .
是否有工具(更好的命令行)来更改嵌入式位图的格式或压缩?例如,我有一个带嵌入式PNG位图图像的SVG . 我正在寻找一种可以称之为的工具
svgconvertertool -convert_embedded_pngs_to_jpg -compression high -f original.svg -out result.svg
创建一个类似于原始svg的新svg,除了所有嵌入的png都转换为jpg .
背景:我想减少几个SVG的文件大小 . 文件大小基本上由嵌入式PNG决定,我想将其转换为(低质量)JPG .
imagemagick知道这个伎俩吗?
1 回答
由于我没有找到工具,我写了一个Java based solution . 这可以通过
它可以处理单个SVG«文件»或传递包含在«文件夹»中的所有SVG . 如果找到嵌入的PNG,则将其替换为JPG版本 . 由于JPG不支持透明度,因此背景设置为白色 . 压缩质量设定为50% .
当我完成后,我发现FlorianEßer已经发表了同样的伎俩 . 他的工具需要Python并使用Python Imaging Library(PIL) .
也许有一种方法可以使用命令行工具(如sed和imagemagick)来完成这个技巧,但我还没有找到一个可以提取/替换嵌入文件的工作脚本,以便imagemagick可以使用它 . 唉,我在Inkscape中找不到合适的命令 .
PS:我很惊讶有人“贬低”了我的问题 . 在我们的例子中,我能够将Sketch(具有糟糕的SVG导出)导出的SVG的文件大小减少4倍!如果有人知道另一个工具,我会很高兴听到它 .