草庐IT

svg中画半圆

黑白棋学弟 2023-03-28 原文

svg中有一个标签path,主要表示路径的意思,当我们画一个半圆的时候,如图:

<svg>
        <!-- 背景布 -->
        <path d="M 150 0 L 150 200 M 0 100 L 300 100" stroke="black" stroke-width="1" />
        <!-- 半圆对象 -->
        <path d="M 100 100 A 50 50 0 0 1 120 60 L150 100" stroke="black"  fill="blue" />
    </svg>

半圆对象中一共出现了 三个主要字母   L  M  A   分别对应文中图片的1 2 3 你可以理解为  LMA(老妹啊)

L指令

L指令为中心点,也就是图中点1,

文中L150 100  我把他修改为 L200 100时  中心点会往右偏移,如图所示:

 

 

 

<path d="M 100 100 A 50 50 0 0 1 120 60 L200 100" stroke="black"  fill="blue" />

M指令

M指令为连线点,也就是图中2

M指令有两个参数:上边连线点X坐标 上边连线点Y坐标

M指令由M 100 100改为M 50 100后:

 

 

 

 

<path d="M 50 100 A 50 50 0 0 1 120 60 L150 100" stroke="black"  fill="blue" />

A指令

A指令有七个数值,代表不同的意思

  1. rx(画出半圆中唯一一条弧线所需的半径)
  2. ry(同上,rx不等于ry时为椭圆)
  3. 顺时针角度(rx、ry相等时设置无效)
  4. 1大弧0小弧(使用rx、ry所画出的圆中两点之间的一侧大弧弧度还是一侧小狐弧度),示例中参数使用的0
  5. 1顺时针0逆时针(rx、ry所画的弧度是按照顺时针方向放置还是逆时针方向放置即圆弧在半圆两条线交叉角度中是外凸还是内凹),示例中参数使用的1
  6. 下边连线点即终点,图中3点X坐标
  7. 下边连线点即终点,图中3点Y坐标

画整个半圆

 

 

<svg>
  <!-- 背景布 -->
  <path d="M 150 0 L 150 200 M 0 100 L 300 100" stroke="black" stroke-width="1" />
  <!-- 圆对象 -->
  <path d="M 100 100 A 50 50 0 0 1 200 100 " stroke="black"  fill="blue" />
</svg>

会发现我没有写L (老) 就剩下M A(妹啊)因为画半圆中心点自动就可以画出来了  不用设置了,去掉老是不是感觉年轻了  

 

有关svg中画半圆的更多相关文章

  1. ruby - 在 Ruby 中将 SVG 转换为 PNG - 2

    我需要在RoR应用程序中将SVG内容转换为光栅图像(最好是PNG)。是否有不涉及ImageMagick的直接方法,或者这是事实上的标准? 最佳答案 通常,ImageMagick被认为是事实上的标准。到目前为止,它已经与多种语言相关联,使用起来应该不会很麻烦。ruby绑定(bind)似乎被称为rmagick。也就是说,您当然可以自己加载和渲染SVG,也许使用librsvg的ruby​​绑定(bind)(尽管从未成功使用过),并使用ruby​​-libpng将其存储为png。什么是RoR应用?

  2. python - 在 Ruby 或 Python 中解析 SVG 的库 - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。ImprovethisquestionSVG是一个庞大的标准,它基于XML。我过去曾将SVG解析为XML。然而,有些事情很难。例如,我想知道一个组的大小。据我所知,这只有通过递归遍历组中的所有子项(注意它们的所有转换)并累积它们的大小才有可能。我很想拥有一个可以为我做类似事情的图书馆。有这样的东西吗?

  3. ruby-on-rails - Raphael 中的 SVG 文件,可以使用吗? - 2

    我有一个SVG文件,我想通过Raphael显示(每个svg文件都是我要绘制的树中的一个节点,树的实际连接将由raphael建立)。我试过类似的东西:varvector_image=paper.image("test.svg",50,50,50,50);但没有骰子,似乎只接受像png或jpeg这样的“真实”图像文件?我觉得这很奇怪,因为拉斐尔本身使用可缩放矢量图形。无论如何(除了将SVG文件解析为javascript片段并将它们粘贴到html文档中)使用Raphael(或任何其他基于矢量的javascript图形引擎?)显示现有的SVG文件?如果必须解析它,除了手动抓取文件之外,是否有任

  4. javascript - SVG feOffset 过滤器放大/缩放 - 2

    为了在svg多边形或圆上有两个笔划和模糊,我创建了一个滤镜来执行此操作,尽管第二个“笔划”(使用滤镜创建)被剪裁或不像一个完美的圆。知道如何以正确的方式解决这个问题吗? 最佳答案 feMorphology在执行扩张时使用方形搜索框,因此它将创建这些裁剪效果。另一种扩大形状并保留原始形状的方法是进行高斯模糊,然后使用feComposite/feFuncA/table将模糊区域转换为完全不透明的形状。像这样: 关于javascript-SVGfeOffset过滤器放大/缩放,我们在Stack

  5. javascript - Chrome 和 Firefox 中的 SVG 文本对齐不一致 - 2

    我正在Leaflet.jsmap上绘制SVG标记图标。图标代表气象站,它们根据风向旋转,并以叠加层的形式显示平均风速。我已经能够让它在Chrome中按预期工作,但文本位置在Firefox中关闭。左边是Chrome(55.0.2883.95),右边是Firefox(50.0.1)。这是我正在使用的自定义Leaflet.Icon类:window.RemoteWind=window.RemoteWind||{};//ThisusesChroma.jstobuildacolorscalewhichisusedforwindspeed.//http://gka.github.io/chroma.

  6. javascript - 水平滚动的 SVG - 2

    我正在尝试用D3(https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js)做一个SVG图形,其中条形宽度是手动定义的,并且有一个水平滚动条..我这里有一个工作fiddlehttps://jsfiddle.net/bikrantsharma/zw264tfc/12/我的比例是这样定义的varbarWidth=30,paddingFactor=2.2,responsiveDIVHeight=300,responsiveDIVWidth=tempData.length*barWidth*paddingFactor;varx=d3.

  7. javascript - 将 SVG 'd' 属性正确拆分为标记的正则表达式是什么? - 2

    我正在尝试将svg文件中路径标记上的d属性拆分为标记。这个相对简单:d="M2-12C515211927-2C1712-34057"tokens=d.split(/[\s,]/)但这也是一个有效的d属性:d="M2-12C5,15,21,19,27-2C17,12-3,40,5,7"棘手的部分是字母和数字不再分隔,负数仅使用负号作为分隔符。如何创建处理此问题的正则表达式?规则似乎是:在有空格或逗号的地方拆分从字母中拆分数字(并保留“-”与数字)我知道我可以使用环视,例如:tokens=pathdef.split(/(?我在构建一个正则表达式时遇到问题,该正则表达式也在减号上拆分并使减号

  8. javascript - 平滑的 svg 路径连接 - 2

    我有一组随机点,想用raphaeljs创建一个平滑的svg形状。为了连接这些点,我使用了catmull-rom-spline。问题是路径闭合的点不平滑。这是我项目中的示例路径:M125,275R125,325175,325225,325275,325225,275175,275125,275Z我还创建了一个jsfiddle:http://jsfiddle.net/ry8kT/这可以用catmull曲线实现吗?如果没有,能否请您举例说明如何获得完全平滑的形状?非常感谢,麦克法兰 最佳答案 我自己修好了:我没有使用catmullrom样

  9. javascript - 如何通过 javascript 添加动画 svg? - 2

    如果我在纯html/svg文件中编写svg,它工作正常,圆圈动画正确。但是如果我通过javascript动态添加circle元素,则添加了circle,但它没有动画。怎么了?js代码:varsvg=$("svg");//usejqueryvarcircle=document.createElementNS("http://www.w3.org/2000/svg","circle");circle.setAttribute("r","5");circle.setAttribute("fill","red");varani=document.createElementNS("http://

  10. javascript - SVG 向圆环图添加径向渐变 - 2

    我正在用d3.js绘制图表。是否可以向圆环图添加径向渐变,这张图片怎么样? 最佳答案 假设圆弧部分是已填充的路径元素,您可以使用径向渐变来获得该结果。参见thissimilarquestion,我们可以重用这个例子来达到:vardataset={apples:[53245,28479,19697,24037,40245],};varwidth=460,height=300,radius=Math.min(width,height)/2;varcolor=d3.scale.category20();varpie=d3.layout.p

随机推荐