我正在使用sketch.js
插件进行绘制,但现在客户希望在画布上也应该有绘图设备。
我在按钮click event
上添加了一个textarea和按钮,我得到textarea值并应用ctx.fillText(...)
直到这里它工作正常,但是如果我绘制更多内容它会删除通过{{1}附加的文本}。
ctx.fillText(...)
<canvas id="colors_sketch" width="655" height="300"></canvas>
</div>
<div style="background:#EEE;padding:20px;">
<textarea id="textToAppend" rows="3" style="width:100%;"></textarea>
<button id="btnAppendText">Append</button>
</div>
尽可能多地研究$('#colors_sketch').sketch();
$("#btnAppendText").keyup(function(e){
var str = $("#textToAppend").val();
var canvas = document.getElementById("colors_sketch");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "#3e3e3e";
ctx.font = "16px Arial";
ctx.fillText(str, 20, canvas.height - 50);
});
。 sketch.js
确实会在画布上显示文字,但不会将其附加到ctx.fillText()
这就是为什么在进一步绘制时会获得sketch.actions[]
并附加新图纸,这就是为什么要清除文字的原因。
如果有人可以提供任何其他替代方案,那就没问题了。