【发布时间】:2013-07-15 13:20:24
【问题描述】:
JavaScript
if (!window.Clipboard) {
var pasteCatcher = document.createElement("apDiv1");
pasteCatcher.setAttribute("contenteditable", "");
pasteCatcher.style.opacity = 0;
document.body.appendChild(pasteCatcher);
pasteCatcher.focus();
document.addEventListener("click", function() { pasteCatcher.focus(); });
}
window.addEventListener("paste", onPasteHandler);
function onPasteHandler(e)
{
if(e.clipboardData) {
var items = e.clipboardData.items;
if(!items){
alert("Image Not found");
}
for (var i = 0; i < items.length; ++i) {
if (items[i].kind === 'file' && items[i].type === 'image/png') {
var blob = items[i].getAsFile(),
source = window.webkitURL.createObjectURL(blob);
pastedImage = new Image();
pastedImage.src = source;
pasteData();
}
}
}
}
function pasteData()
{
drawCanvas = document.getElementById('drawCanvas1');
ctx = drawCanvas.getContext( '2d' );
ctx.clearRect(0, 0, 640,480);
ctx.drawImage(pastedImage, 0, 0);
}
DIV
<div id="apDiv1" contenteditable='true'>Paste Test</div>
上面的 javascript 将从剪贴板中捕获图像并粘贴到 DIV 中。如何将画布保存在客户端。我没有使用任何服务器,所以我需要将画布保存在客户端。
我发现canvas.toDataURL() 会将内容转换为 base64 编码的 PNG 文件,但是如果我想将图像保存在本地,我该怎么办。假设我的 C:// 中有一个文件夹 Image。如果我想将图像保存在特定文件夹中,我该怎么办。
【问题讨论】:
标签: javascript html canvas html5-canvas