1

我正在使用svgo并且遇到了一个奇怪的问题,它正在杀死我的填充颜色,但前提是它是#000000; 或任何种类的变体black,,,#000。我已尝试设置removeUselessStrokeAndFill为,false但它继续仅删除该颜色。用不同的东西编辑 src.svg文件可以保持填充颜色。有没有我缺少的设置?谢谢!

4

2 回答 2

1

澄清一下,这实际上是 SVGO 的正确行为,因为 SVG 的默认填充和描边颜色是黑色,因此如果将其重新声明为填充则无用。这就是它从输出中删除的原因。任何其他非默认填充将按预期保留。

见:http ://www.w3.org/TR/SVG/painting.html#FillProperties

于 2015-02-16T15:03:13.053 回答
1

不,你做对了。实际上在 svgo 上有一个关于这个的问题# 115

要解决此问题,您必须将颜色设置为另一种黑色,越接近真实black颜色#000001因此,您可以在svg中将所有黑色引用更改为此,等待修复或事件更好,安装gulp-replace并执行以下操作:

gulp.task('blackify', function () {
  return gulp.src('*.svg')
    .pipe(replace('#000000', '#000001'))
    .pipe(gulp.dest('./'));
});
于 2014-10-02T21:14:47.383 回答