SVG基本使用(五、脚本编程)

19 篇文章 0 订阅
13 篇文章 0 订阅
  • svg脚本编程:通过js操作svg
    企业开发中均使用框架进行脚本编程
    脚本编程推荐自学svg框架
    https://svgjs.com/
    http://snapsvg.io/docs/
    可以做搜狗浏览器官网特效。多看看svg在线编辑器
  • 使用js绘制svg注意点:
    • 绘制画布注意点:
      创建SVG时必须指定命名空间(用于告诉浏览器,此文件不是普通xml文件,而是用来表示SVG图形的。svg内所有标签都要添加)
      const SVG_NS = “http://www.w3.org/2000/svg”
      并且使用createElementNS方法创建,传递两个参数:
      参数一:命名空间
      参数二:元素
    • 使用xlink属性注意点
      使用xlink属性也必须指定命名空间
      const XLINK_NS = “http://www.w3.org/1999/xlink”;
      并且使用setAttributeNS方法添加属性,传递三个参数:
      参数一:命名空间
      参数二:属性
      参数三:属性值
  • 案例需求:使用js绘制如下svg
<svg width="500" height="500">
    <circle cx="100" cy="100" r="50" fill="red"></circle>
    <image xlink:href="任意图片路径" x="200" y="200"></image>
</svg>

使用js实现源码:

    /*绘制画布*/
    const SVG_NS = "http://www.w3.org/2000/svg";
    // let oSvg = document.createElement("svg");/*创建svg*/
    let oSvg = document.createElementNS(SVG_NS,"svg");/*创建svg*/
    oSvg.setAttribute("width","500");//设置宽度
    oSvg.setAttribute("height","500");//设置高度
    document.body.appendChild(oSvg);

    /*绘制圆 */
    // let oCircle = document.createElement("circle");
    let oCircle = document.createElementNS(SVG_NS,"circle");
    oCircle.setAttribute("cx","100");//圆的位置
    oCircle.setAttribute("cy","100");
    oCircle.setAttribute("r","50");
    oCircle.setAttribute("fill","red");
    oSvg.appendChild(oCircle);

    /*绘制图片*/
    const XLINK_NS = "http://www.w3.org/1999/xlink";
    let oImage = document.createElementNS(SVG_NS,"image");
    oImage.setAttribute("x","200");//图片的位置
    oImage.setAttribute("y","200");
    // oImage.setAttribute("xlink:href","images/lnj.jpg");
    oImage.setAttributeNS(XLINK_NS,"xlink:href","images/lnj.jpg");
    oSvg.appendChild(oImage);
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值