Skip to main content

HTML5 Canvas 拖放图片

要使用 Konva 实现拖放图片,可以在实例化形状时将 draggable 属性设置为 true,或者可以使用 draggable() 方法。draggable() 方法自动为桌面和移动应用启用拖放功能。

import Konva from 'konva';

const stage = new Konva.Stage({
  container: 'container',
  width: window.innerWidth,
  height: window.innerHeight,
});

const layer = new Konva.Layer();

const imageObj = new Image();
imageObj.onload = () => {
  const yoda = new Konva.Image({
    x: 50,
    y: 50,
    image: imageObj,
    width: 106,
    height: 118,
    draggable: true,
  });

  // 添加光标样式
  yoda.on('mouseover', function () {
    document.body.style.cursor = 'pointer';
  });
  yoda.on('mouseout', function () {
    document.body.style.cursor = 'default';
  });

  layer.add(yoda);
};
imageObj.src = 'https://konvajs.org/assets/yoda.jpg';

stage.add(layer);