SVGO:杀死#000000填充

时间:2014-10-02 18:22:41

标签: svg gruntjs gulp

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

2 个答案:

答案 0 :(得分:0)

不,你做得对。 #115 实际上存在问题svgo

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

gulp.task('blackify', function () {
  return gulp.src('*.svg')
    .pipe(replace('#000000', '#000001'))
    .pipe(gulp.dest('./'));
});

答案 1 :(得分:0)

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

请参阅:http://www.w3.org/TR/SVG/painting.html#FillProperties