Не видя вашего источника, я бы предложил добавить обертку вокруг тега image и canvas.
<div id='wrapper'>
<img/>
<canvas/>
</div>
Тогда элемент canvas не будет расширяться за пределы обертки.
Другой способ - привязать событие к window.resize
и сделать элемент canvas
равным ширине / высоте элемента изображения.