文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

一篇文章教会你使用SVG画圆形

2024-12-03 10:12

关注

SVG  元素是一个SVG的基本形状,用来创建圆,基于一个圆心和一个半径,同时可以利用stroke和fill属性对圆进行实线描边,虚线描边以及圆形的颜色填充等。

一、绘制圆形

1. SVG 命名空间

  1. # xmlns="http://www.w3.org/2000/svg" 
  2. # xmlns:xlink="http://www.w3.org/1999/xlink" 

这是XML链接语言[(XLink)规范中定义的XML命名空间。有关 XML 的信息,请参阅可扩展[标记语言 (XML) 1.0 规范。

2. SVG 元素用于绘制圆。

  1.  
  2.  
  3. 项目 
  4.  
  5. "background-color: aqua;"
  6. "http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
  7.  
  8. "60" cy="60" r="26" style="stroke:#006600; fill:#FF0000" /> 
  9.  
  10.  
  11.  
  12.  

运行结果:

该圆以点cx , cy为圆心,半径为r。cx,cy 和r是元素的属性。

二、圆形描边

使用SVG stroke样式属性设置SVG圆的笔触(轮廓)。

笔划设置为#006600深绿色。但是,不仅可以设置笔触颜色,还可以设置更多。还可以使用stroke-widthstyle属性设置笔触宽度 。

示例

  1. "80px"
  2. "40" cy="40" r="24" style="stroke:#006600; 
  3.      stroke-width: 3; 
  4.      fill:#FF0000" 

运行后圆圈的外观:

可以使用stroke-dasharray属性以虚线绘制边框。

  1. "80px">"40" cy="40" r="24" 
  2.    style="stroke:#006600; 
  3.           stroke-width: 3; 
  4.           stroke-dasharray: 10 5; 
  5.           fill:#FF0000"/> 
  6.  

渲染后的外观 :

删除圆的边框(轮廓),仅用填充颜色填充圆。

  1. "80px">"40" cy="40" r="24" 
  2.    style="stroke: none; 
  3.           fill:#FF0000"/> 
  4.  

没有边框的圆运行后效果如下:

三、Circle 填充

该fill样式属性控制圈的填充方式。通过将fill属性设置为,可以选择完全不填充none。示例如下:

  1. "80px">"40" cy="40" r="24" 
  2.    style="stroke: #660066; 
  3.           fill: none"/> 
  4.  

这是没有填充的圆的外观

使用fill 属性设置填充颜色。

代码如下:

  1. "80px">"40" cy="40" r="24" 
  2.    style="stroke: #660066; 
  3.           fill: #FF0000"/> 
  4.  

绘制圆并填充颜色的外观如下:

使用fill-opacity style属性将填充设置为透明。以下示例绘制了两个圆,一个圆部分位于另一个圆的上方,并且是半透明的。

  1. "80px"
  2.    "40" cy="40" r="24" style="stroke: #660000; 
  3.                   fill: #cc0000; 
  4.            "> 
  5.    "64" cy="40" r="24" style="stroke: #000099; 
  6.                   fill: #0000cc; 
  7.                   fill-opacity: 0.5; 
  8.            "> 
  9.  

运行效果如下:

蓝色(右)圆圈现在在内部是半透明的。要使笔划也为半透明,则必须使用stroke-opacitystyle属性。

四、总结

本文基于Html基础,利用SVG画不一样的圆形,添加不一样的效果。以及在实际开发项目中需要注意的点,遇到的一些难点, 都提供了一些有效等等解决方案。

欢迎大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

代码很简单,希望能够帮助读者更好的去学习SVG。

本文转载自微信公众号「前端进阶学习交流」,可以通过以下二维码关注。转载本文请联系前端进阶学习交流公众号。

 

来源:前端进阶学习交流内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯