zrender 基本使用

发布时间 2023-09-09 22:27:22作者: NewBee_2023

官网:https://ecomfe.github.io/zrender-doc/public/api.html#zrenderelementattrkey-value

使用 zrender 做一个图片标记功能:
image

<html lang="en">
  <body>
    <style>
      .contain {
        width: 500px;
        height: 100%;
      }
      #canvas {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
      }
    </style>
    <div class="contain">
      <img
        width="500"
        src="https://pic1.zhimg.com/70/v2-3b4fc7e3a1195a081d0259246c38debc_1440w.avis?source=172ae18b&biz_tag=Post"
      />
      <div id="canvas"></div>
    </div>

    <script src="https://cdn.bootcdn.net/ajax/libs/zrender/5.4.3/zrender.js"></script>
    <script>
      const container = document.getElementById("canvas");
      // zrender 实例
      const zr = zrender.init(container);
      const circle = new zrender.Arc({
        shape: {
          cx: 15,
          cy: 15,
          r: 15,
        },
        style: {
          stroke: "red",
          lineWidth: 2,
        },
      });
      zr.add(circle);
      container.addEventListener("click", (e) => {
        // 更新元素属性
        circle.attr("shape", {
          cx: e.clientX,
          cy: e.clientY,
        });
      });
    </script>
  </body>
</html>