我想使用 Ubuntu 上的软件优化 SVG(优化的意思是减小文件大小而不丢失图形的任何可见部分),我确实是指软件,我知道有些网站可以做到这一点,但我不相信我的互联网连接总是足够好,可以让我做到这一点。我还想保留文件格式 SVG,我知道 SVGZ 通常比未压缩的 SVGZ 小得多,但我正在将这些 SVG 上传到本地 MediaWiki 安装,据我所知,它无法缩略 SVGZ 文件(如果我错了,请纠正我)。
答案1
我想不出比墨景。
Inkscape 是一个开源矢量图形编辑器,类似于 Adobe Illustrator、Corel Draw、Freehand 或 Xara X。Inkscape 的独特之处在于它使用可缩放矢量图形 (SVG)(一种基于 XML 的开放 W3C 标准)作为原生格式。
您可以使用命令来安装它:
sudo apt-get install inkscape
看看这有关使用 inkscape 优化 SVG 的技巧的链接。
对于命令行,我认为你应该看看冲刷
scour --help
scour 0.26
Copyright Jeff Schiller, Louis Simard, 2010
Usage: scour [-i input.svg] [-o output.svg] [OPTIONS]
If the input/output files are specified with a svgz extension, then compressed
SVG is assumed. If the input file is not specified, stdin is used. If the
output file is not specified, stdout is used.
Options:
--version show program's version number and exit
-h, --help show this help message and exit
--disable-simplify-colors won't convert all colors to #RRGGBB format
--disable-style-to-xml won't convert styles into XML attributes
--disable-group-collapsing won't collapse <g> elements
--create-groups create <g> elements for runs of elements with
identical attributes
--enable-id-stripping remove all un-referenced ID attributes
--enable-comment-stripping remove all <!-- --> comments
--shorten-ids shorten all ID attributes to the least number of
letters possible
--disable-embed-rasters won't embed rasters as base64-encoded data
--keep-editor-data won't remove Inkscape, Sodipodi or Adobe
Illustrator elements and attributes
--remove-metadata remove <metadata> elements (which may contain
license metadata etc.)
--renderer-workaround work around various renderer bugs (currently
only librsvg) (default)
--no-renderer-workaround do not work around various renderer bugs
(currently only librsvg)
--strip-xml-prolog won't output the <?xml ?> prolog
--enable-viewboxing changes document width/height to 100%/100% and
creates viewbox coordinates
-p DIGITS, --set-precision=DIGITS
set number of significant digits (default: 5)
-q, --quiet suppress non-error output
--indent=INDENT_TYPE indentation of the output: none, space, tab
(default: space)
--protect-ids-noninkscape Don't change IDs not ending with a digit
--protect-ids-list=PROTECT_IDS_LIST
Don't change IDs given in a comma-separated list
--protect-ids-prefix=PROTECT_IDS_PREFIX
Don't change IDs starting with the given prefix
另请查看此SE 问题,可能会有帮助。
答案2
使用 svgo https://spin.atomicobject.com/2016/11/10/svgo-compressing-svg-images/
工作快速并提供结果摘要
您可以使用同一个文件进行输入和输出,也可以不使用。
# svgo file.svg -o file.svg
file.svg:
Done in 268 ms!
67.819 KiB - 1.7% = 66.669 KiB
不要被那一点点的减少所欺骗。这是对已压缩文件的第二遍压缩。第一轮平均节省了 65%(使用 gnuplot 创建的图像)。
我今天才发现它,我很满意。
答案3
清洁器非常强大并且速度非常快。
svgcleaner input.svg output.svg
svgcleaner repo 中有一个与 scour 和 svgo 的比较。根据我的经验,svgcleaner 比 svgo 和 scour 更安全;后两者生成的 SVG 文件已损坏。
答案4
gzip -S z ./examples/*/*.svg
看https://lists.w3.org/Archives/Public/www-svg/2007Apr/0025.html