首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SVG d3中的边界半径

SVG d3中的边界半径
EN

Stack Overflow用户
提问于 2021-03-22 05:35:38
回答 2查看 220关注 0票数 0

我有以下的svg:

代码语言:javascript
复制
    ` svg.append('g')
       .append("path")
        .attr("d", "M 0 150 L 0 0 L 190 0 L 190 150 Z")
        .attr("fill", "#f6f6f6"); `

看上去像这样:

但我想这样:

我对svg曲线知之甚少。我怎么能像这样设置边界半径?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-22 05:54:33

用二次Bezier路径完成:

代码语言:javascript
复制
svg {
  background-color: #aaa;
}
代码语言:javascript
复制
<svg width="300" height="180">
  <g transform="translate(10,10)">
    <path d="M 60,0 H 180 Q 190,0 190,10 V 140 Q 190,150 180,150 H 10 Q 0,150 0,140 V 60 Q 0,0 60,0 Z" fill="#d6d6d6"/>
  </g>
</svg>

票数 2
EN

Stack Overflow用户

发布于 2021-03-22 06:43:01

您可以在这里找到路径的详细描述:https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths

拐角处最简单的方法是二次Bezier路径。例如,如果您需要绕过半径近似为r的右上角,且该角的坐标为xy,则路径如下所示:

y

  • Quadratic Bezier (E 121qE 222)移动到E 123xe 224,<>E 125/代码>y+rE 226,y
  1. Line to (E 133LE 234代码>/竖线(<>E<135/code>V代码>>>代码>><代码><>>代码><>>代码><>>238>。

例如,如果半径为20,拐角在点100,100,路径将是H 80,100 q 100, 100 ,120 V .

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66740799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档