我想绘制一个带有顶部和底部边框的矩形(作为数据库流程图的一部分)。因此,我像这样在 rect 上使用 stroke-dasharray:
<svg viewBox="-64 -24 178 73" xmlns="http://www.w3.org/2000/svg">
<rect stroke-dasharray="50 25" width="50" height="25" fill="none"
stroke="black"></rect>
<text x="25" y="13" text-anchor="middle" dominant-baseline="central"
font-size="10px" fill="#414141">Database
</text>
</svg>
如果您仔细观察渲染矩形的左上角,您应该会看到一个凹口(由洋红色圆圈突出显示)。该像素未在矩形的其他角上呈现(由绿色垂直线突出显示):
我预计
- 没有缺口
- 顶线与底线的长度相同
- 顶线和底线在渲染图像中的相同 x 位置开始
这意味着,我希望图像看起来像这样(没有洋红色圆圈和绿线)
如何修复我的 SVG 看起来像这样?这可以用stroke
on完成rect
吗?为什么首先添加缺口/像素?
编辑:我在 Google Chrome 版本 95.0.4638.69 和 Firefox 94.0 的 Linux 上遇到了这个问题,但这似乎是一个错误(见评论)。