我试图在绘制后更改画布内容的颜色。所以如果你开始绘制一个绿色的圆圈,你可以稍后再决定将之前绘制的圆圈变成一个红色的圆圈。绘制后在画布上更改笔的颜色
我在这里使用signaturePad插件: https://github.com/szimek/signature_pad
我有一些内置的功能,但笔的颜色变化并没有改变以前绘制的元素。这里是小提琴: http://jsfiddle.net/Z6g5Z/
感谢您的帮助!小提琴是可能的。查看问题的最佳方式,但JS和标记如下。
var canvas = $("#can")[0];
var signaturePad = new SignaturePad(canvas, {
minWidth: 2,
maxWidth: 5,
penColor: "rgb(66, 133, 244)"
});
$('#clear').click(function(){
signaturePad.clear();
});
$('.global-color li').click(function(){
$('.on').removeClass('on');
var $t = $(this);
$t.addClass('on');
var selectedColor = $t.data('color');
signaturePad.penColor = hexToRgb(selectedColor);
});
<ul class="global-color">
<li class="yellow-pick" data-color="#f8c90d">yellow</li>
<li class="green-pick" data-color="#3dae49">green</li>
<li class="orange-pick" data-color="#e87425">orange</li>
<li class="blue-pick on" data-color="#009cc5">blue</li>
</ul>
<div>
<input id="clear" type="button" value="clear" />
</div>
<canvas id="can" width="200px" height="200px"></canvas>