Протрите холст при перетаскивании HTML5

Я нигде не нашел ответа на этот вопрос. Возможно ты можешь помочь мне. Я рисую диаграмму в canvas и div (canvas:chart.js / div:morris.js). Я просто устанавливаю элементы drag&drop с помощью HMTL5, он работает нормально, но когда я перемещаю холст, он стирает все на нем. На карте DIV остаются, но с холстом нет. Есть ли решение кроме перерисовки каждый раз, когда я перемещаю холст?

Спасибо за помощь

редактировать: образец кода

<article class="widget" draggable="true">
    <header>
    </header>
    <canvas class="canvas-container"></canvas>
</article>

<article class="widget" draggable="true">
    <header>
    </header>
    <div class="canvas-container"></div>
</article>

1 ответ

Решение

Вы решили не предоставлять код, поэтому, вообще говоря, вы можете использовать свой холст диаграммы в качестве источника либо для элемента img, либо для другого элемента холста.

Например, учитывая некоторые элементы HTML:

<canvas id="sourceCanvas" width=300 height=300></canvas>

<img id="theCopy">

<canvas id="destinationCanvas" width=300 height=300></canvas>

Код для копирования содержимого холста html в элемент изображения:

// This code will set the source of that img element to be the canvas image

var canvas=document.getElementById("sourceCanvas");
var ctx=canvas.getContext("2d");

document.getElementById('theCopy').src=canvas.toDataURL();

Код для копирования содержимого холста html в другой элемент холста html:

var source=document.getElementById("sourceCanvas");

var destination=document.getElementById("destinationCanvas");
var destinationContext=destination.getContext("2d");

destinationContext.drawImage(source,0,0);

Демонстрация: http://jsfiddle.net/m1erickson/6yvXb/

введите описание изображения здесь

Другие вопросы по тегам