如何使用抖动渐变将 svg 转换为 png?

如何使用抖动渐变将 svg 转换为 png?

如果我在 Inkscape 中创建两种相似颜色之间的渐变并将其导出为 png,它看起来会像这样:
在此处输入图片描述
如果仔细观察,你会看到环。
如果我在 GIMP 中创建渐变,可以选择使用抖动来防止出现此类环或线条。
如何使用抖动渐变将我的 svg 转换为 png?

答案1

尝试使用 Gimp “扩展”滤镜(滤镜 > 杂色 > 扩展),并将值设为 40px

我在 Inkscape 错误跟踪器的评论中发现了它,在我看来它产生了很好的效果

答案2

好吧,我不知道你希望犹豫如何起作用,但通常你会犹豫雇佣信号给 lores,而你似乎希望犹豫 lores,但这当然行不通。

是的,不。

渐变中的抖动不是出于分辨率的原因,而是为了比特率的原因。您会得到带状效果,因为 InkScape 导出到 PNG 时错误地将插值渐变的 (浮点) RGB 值四舍五入为 8 位值 (256 步)。

这会导致一种非常烦人且明显的带状噪音(相对于混叠噪声如果我们谈论的是分辨率,情况就是这样的。应用抖动是一种噪声整形,它不会降低噪音,但会将其分散到空间域中,因此它不再与明显的形状相关(我就不谈信号理论了)。

你在 GIMP 中应用扩散噪声过滤器的“解决方案”确实不比在线条艺术中遇到锯齿状边缘的人好,直接询问关于抗锯齿选项,并告诉他们应用高斯模糊!

考虑一下:一张照片,减少到 4 种颜色,没有抖动,然后应用扩散噪声过滤器。一张照片减少到 4 种颜色,有抖动。哪一个看起来更好?

如何“隐藏”锯齿状边缘 -> 模糊。如何解决锯齿状边缘 -> 渲染时抗锯齿。如何“隐藏”渐变中的条带 -> 扩散噪音等(有更好的技巧,但最终总是会丢失保真度)。如何解决渐变中的条带 -> 在渲染期间应用抖动!

所以,是的,我实际上可以理解这种态度,当问到如何解决问题时,被告知要掩盖起来。对于一个严肃的图形设计师来说,这不是一个解决方案。

我目前正在努力解决同样的问题。问题也非常清楚,我知道,因为我来到这个页面寻找同样的答案。我试图做的是使用过滤器或扩展程序施加一层轻微的噪音在 InkScape,希望在渲染之前应用,稍微增加舍入误差,从而得到一个不是最优但聊胜于无的穷人噪音整形器。但至少它会保留不需要抖动的细节 :)

答案3

请不要将此视为答案。我将其作为答案,因为写评论是有限制的

这似乎是 Inkscape 的已知问题。快速谷歌搜索向我展示了:

  1. 修补源(0.48.0),然后编译 Inkscape

  2. 应用一些过滤器(通过编辑/usr/share/inkscape/filters/filters.svg),如发布这里或者这里,这对你的样本毫无用处

  3. 另外在网上搜索如何解决 Inkscape 渐变带问题

  4. 如果可能,尝试其他工具

我只想补充一点,最后一步是我的建议,你可以尝试赛拉或者韋克1在我看来,只有商业工具(CorelDraw插图画家...)提供完美的功能,这在做严肃的工作时确实必须考虑到,因为你不会喜欢渲染后发生这样的事情

干杯

相关内容