我试图将我的HTML画布保存到我可以成功执行的文件,但它不保存任何已拖入画布的对象。无法使用可拖动对象保存画布
所以,通过使用Draggable JQuery,我可以愉快地将我的对象移动到屏幕上并将其放置在画布上。当我使用Canvas.ToDataURL()
保存画布时,它不会保存我拖动的对象(并且在jsFiddle中对我的画布做了一些奇怪的事情,它似乎会改变画布的颜色?)。
看到一个“工作”的例子,请访问我的jsfiddle http://jsfiddle.net/JVSFS/74/
请只需将绿色框上的蓝色框,然后点击保存按钮。结果将显示在下方(只是一个橙色框)。
HTML
<canvas id="MyCanvas" class="canvas"></canvas>
<div class="popup_click">
<div id="popup_title">Drag</div>
</div>
<asp:HiddenField ID="hideMe" runat="server" />
<asp:Button runat="server" OnClick="ClickMe" Text="Click" OnClientClick="SaveMe()" />
<button onclick="SaveMe()">Try it</button>
<p>Results: </p>
<img id="myImage" />
的JavaScript
$(document).ready(function() {
$('.popup_click').show(0).draggable();
});
function SaveMe() {
var canvas = document.getElementById("MyCanvas");
var context = canvas.getContext("2d");
context.fillStyle = "orange";
context.fillRect(0, 0, 100, 100);
var image = canvas.toDataURL("image/png");
document.getElementById("myImage").src = image;
document.getElementById("hideMe").value = image;
}
CSS
.popup_click {
background: #80FF80;
width: 50px; }
.canvas {
width: 100px;
height: 100px;
background-color: #0FC;
}
我怎样才能获得拖动的对象保存?我假设我必须告诉Canvas该对象是其上下文的一部分,但不知道如何和我自己的搜索没有任何结果。
有在画布上一个div,没有办法得到它在画布上 –