如何为 SVG 文本获取 "crispEdges"?
How to get "crispEdges" for SVG text?
除文本之外的 Svg 形状受 shape-rendering
属性的影响,该属性可以设置为 crispEdges
值 (https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering)。该值似乎关闭了抗锯齿功能。
但文本仅受 text-rendering
影响。但是,这不提供 crispEdges
值 (https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-rendering)。为什么?是否有其他方式获得非抗锯齿?
对于非常清晰的边缘,您可以使用滤镜对文本进行色调分离。
<svg width="400px" height="400px">
<defs>
<filter id="crispify">
<feComponentTransfer>
<feFuncA type="discrete" tableValues="0 1"/>
</feComponentTransfer>
</filter>
</defs>
<text filter="url(#crispify)" font-size="60" y="60" >Some crispy text</text>
</svg>
除文本之外的 Svg 形状受 shape-rendering
属性的影响,该属性可以设置为 crispEdges
值 (https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering)。该值似乎关闭了抗锯齿功能。
但文本仅受 text-rendering
影响。但是,这不提供 crispEdges
值 (https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-rendering)。为什么?是否有其他方式获得非抗锯齿?
对于非常清晰的边缘,您可以使用滤镜对文本进行色调分离。
<svg width="400px" height="400px">
<defs>
<filter id="crispify">
<feComponentTransfer>
<feFuncA type="discrete" tableValues="0 1"/>
</feComponentTransfer>
</filter>
</defs>
<text filter="url(#crispify)" font-size="60" y="60" >Some crispy text</text>
</svg>