将令人沮丧的简单画布绘制图像保存到本地 Web 文件夹
Saving a frustrating simple Canvas drawn image to a local web folder?
我有一个画布,允许用户用画笔在上面画画。
.JS
var sketcher = null;
var brush = null;
$(document).ready(function(e) {
localStorage.setItem("clickCount", 0);
var alpha = localStorage.getItem("alpha");
if(!alpha){
alpha = 10;
}
alpha = (parseInt(alpha))/10;
console.log(alpha);
//Get Brush Opacity
var power = localStorage.getItem("power");
var expo = localStorage.getItem("expo");
power = parseInt(power);
expo = parseInt(expo);
var opacity = ((expo / 100)+ 1) * (power / 10) / 100;
console.log(opacity);
var standBy = localStorage.getItem("standBy");
var brushSize = localStorage.getItem("spotDiameter");
brush = new Image();
brush.src = 'assets/brush_spot_'+ brushSize + '.png';
// brush.src = 'assets/brush_spot_'+ brushSize +"_"+ alpha + '.png';
if(standBy == "false"){
brush.onload = function(){
sketcher = new Sketcher( "sketch", brush );
var canvas = document.getElementById('sketch');
var c = canvas.getContext("2d");
c.globalAlpha = opacity;
}
}
$("#sketch").css("cursor", "url(assets/cursor_spot_"+ brushSize +"_"+ alpha +".ico) 12 12, auto");
var clickCount = 0;
$('#sketch').click(function(e){
if(standBy == "true"){
e.preventDefault();
}
else{
clickCount++;
localStorage.setItem("clickCount", clickCount);
$("#clickCount").text(clickCount);
}
});
.HTML
<canvas id="sketch" width="1024" />
<canvas id="draw"/>
我有两个依赖的js文件,它们在网页草图器之前加载.js和三角函数.js .
我需要做的是在画布上绘制的任何内容保存到本地存储或作为本地文件夹中的临时文件,每次加载画布时都可以调用。
看起来您的画笔图像会污染画布并阻止 toDataURL。
您必须:
- 配置服务器以符合 CORS 的方式交付映像:http://docs.telerik.com/kendo-ui/howto/use-cors-with-all-modern-browsers
或
- 将映像托管在服务器标头设置为允许跨域共享的云站点上
无论哪种情况,在客户端上,您还必须设置 crossOrigin 标志,避免让浏览器将画布设置为受污染:
brush.crossOrigin="anonymous";
brush.src="...";
相关文章:
- 有没有一个javascript库能够修改和保存图像
- 如何使用html / angularjs保存图像文件
- 上传图像,重新定位,保存图像
- 使用JavaScript在分析中保存图像
- 从图像URL javascript html保存图像文件
- 从画布保存图像时缺少扩展名
- 如何用我在HTML5画布上绘制的src保存图像文件
- 使用 canvas.toDataURL() 解码和保存图像
- 如何旋转图像并保存图像
- 在 Javascript 中保存图像
- jQuery 保存图像点击
- 保存图像 src 的功能不起作用
- 禁用移动设备中的默认保存图像选项
- 使用 PHP 和 JavaScript 在黑莓中下载和保存图像
- 从 Base64 字符串保存图像不会打开
- 使用 Ajax 在 Ruby on Rails 中保存图像
- 如何从加载中保存图像宽度和高度
- 使用 js 保存图像
- 在操作方法中保存图像,然后将 URL 返回给客户端
- 使用图像URL和PHP从远程服务器上传/下载/保存图像到本地服务器