svg.js

1. 动态添加图片

let svgc = document.querySelector("#svgEventDiv");
      this.svgWidth = svgc.getBoundingClientRect().width;
      this.svgHeight = svgc.getBoundingClientRect().height;
      // console.log(this.svgWidth, this.svgHeight);
      this.svgDom.clear();
      // 设置viewbox(缩放)
      this.svgDom.viewbox("0 0 " + this.svgWidth + " " + this.svgHeight);

      let planImage = this.svgDom
        .image(require("./assets/part-00543-257.jpg"))
        // .image(require("./assets/logo.png"))
        .loaded(imgSize => {
          console.log("imgSize", imgSize);
          let xWidth = (this.svgWidth - imgSize.width) / 2;
          let yWidth = (this.svgHeight - imgSize.height) / 2;
          planImage.attr({
            x: xWidth,
            y: yWidth
          });
        });

2. 动态添加矩形

// 添加矩形并且添加点击事件
        this.svgDom
          .rect(100, 100)
          .move(200, 200)
          .attr({ fill: "#f06", id: "rect" + index });
        let rect = document.querySelector("#rect" + index);
        let tipTemp = null;
        rect.addEventListener("click", () => {
          // console.log("ele, index", ele, index);
        });

3. 动态添加文本

// 添加文本
        this.svgDom.text(add => {
          console.log("add", add);
          add.tspan("我是你爸爸").attr({
            x: xWidth + ele.x,
            y: yWidth + ele.y,
            fill: "#f06"
          });
          add
            .tspan("我是你爸爸111")
            .newLine()
            .attr({
              x: xWidth + ele.x,
              y: yWidth + ele.y,
              fill: "#f06"
            });
          add.tspan("我是你爸爸").attr({
            x: xWidth + ele.x + 40,
            y: yWidth + ele.y + 30,
            fill: "#090"
          });
        });

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值