sketch.js
11我从这里使用:http: //intridea.github.io/sketch.js/和 jquery 2.0.0
在我的页面上,我有一个图像列表,如下所示:
<a href="http://url.to/image"><img src="http://url.to/image"><br><span class="background">click for background</span></a>
和 a canvas
,设置如下:
<canvas id="simple_sketch" style="border: 2px solid black;"></canvas>
相关的 JavaScript:
var winwidth = 800;
var winheight = 600;
$('#simple_sketch').attr('width', winwidth).attr('height', winheight);
$('#simple_sketch').sketch();
$('.background').on('click', function(event) {
event.preventDefault();
var imgurl = $(this).parent().attr('href');
console.log('imgurl: ' + imgurl);
var n = imgurl.split('/');
var size = n.length;
var file = '../webkort/' + n[size - 1];
var sigCanvas = document.getElementById('simple_sketch');
var context = sigCanvas.getContext('2d');
var imageObj = new Image();
imageObj.src = imgurl;
imageObj.onload = function() {
context.drawImage(this, 0, 0,sigCanvas.width,sigCanvas.height);
};
alert('background changed');
});
背景会按照我的意愿更改,但是每当我单击 时canvas
,背景图像都会被清除。根据这个线程的建议:html5 canvas 背景图像在 mousemove 上消失我在第116this.el.width = this.canvas.width();
行注释掉了,但无济于事。sketch.js
任何帮助表示赞赏!
编辑:jsfiddle:http: //jsfiddle.net/RXFX4/1/
编辑:无法弄清楚如何使用sketch.js 做到这一点,所以改为使用jqScribble(评论中发布的链接),它能够作为内置函数执行此操作。