По моему опыту, использование встроенных средств перетаскивания / перетаскивания излишне для чего-то, что предполагает перемещение компонента по холсту.
Самый простой способ сделать это (на мой взгляд) - слушатьдля мыши вниз / вверх / переместить изображение вокруг на холсте самостоятельно.
Когда вы обнаружите мышь на изображении, добавьте слушатель для перемещения мыши (совет: убедитесь, что вы установили значение true для useCapture при вызове addEventListener) и сохраните положение мыши относительно источника вашего изображения,Затем всякий раз, когда вы двигаете мышью, меняйте положение вашего изображения на холсте, учитывая положение мыши на изображении (которое вы сохранили при наведении мыши).Продолжайте делать это до тех пор, пока не появится мышь, затем удалите слушателя перемещения мыши.
Есть несколько дополнительных тонких моментов, которые нужно учитывать (что, если пользователь перетаскивает за пределы холста? Или за пределы окна браузера?),но это поможет вам начать.
Надеюсь, это поможет.