【问题标题】:SVG On Canvas Black Lines Look Grey?画布上的 SVG 黑线看起来是灰色的?
【发布时间】:2015-01-03 06:44:19
【问题描述】:

我在 Illustrator 中创建了一个只有基本线条的网格并保存为 SVG。然后,我将该 svg 加载到与 svg 大小完全相同的 html 画布中。

但是,无论我做什么,画布 svg 上的黑线看起来都是灰色的,实际上奇怪的一两条是黑色的,但其他的看起来像是在抗锯齿。

我不希望画布那样做,我需要清晰的黑色线条,而不是灰色!在我关闭抗锯齿后,它们在 Illustrator 中看起来不错。

有谁知道如何防止画布这样做?我正在使用织物 js

【问题讨论】:

  • 这种说法需要证明。 jsbin/jsfiddle/SO-runnable-code 示例在哪里?
  • 没有代码可以运行,svg 是在 illustrator 中制作的,只需通过 fabric.loadSVGFromURL 加载到画布上。
  • 所以显示。 Illustrator 清楚地生成了一个加载进来的 SVG 图像,你可以制作一个使用 fabric 的 jsbin,然后以相同的方式加载该文件。
  • 从来没有发现我认为它与像素的渲染方式有关。很容易解决
  • 旧偏移量 0.5 误差?

标签: javascript html canvas svg fabricjs


【解决方案1】:

您可以使用以下属性关闭抗锯齿:

shape-rendering="crispEdges"

它可以是样式属性,也可以在 CSS 中指定。您将需要编辑 svg 或 CSS。您无法在 Illustrator 中设置。

这适用于矩形网格,但曲线或角线会看起来更糟。当然。

您还可以通过小心放置线条的位置来避免抗锯齿。有关详细信息,请参阅以下答案。

https://stackoverflow.com/a/23376793/1292848

【讨论】:

    猜你喜欢
    • 2017-03-06
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 2013-05-05
    • 2020-02-29
    相关资源
    最近更新 更多