я использую sketch.js
плагин для рисования, но теперь клиент хотел, чтобы на холсте была возможность печатать вместе с рисунком.
Я добавил текстовое поле и кнопку на кнопку click event
я получаю значение textarea и применяя ctx.fillText(...)
До сих пор он работает нормально, но если я рисую больше вещей, он удаляет текст, добавленный через 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[]
вот почему на следующем рисунке он получает sketch.actions[]
и добавляет новый рисунок, и поэтому текст очищается.
Будет хорошо, если кто-то может дать любую другую альтернативу.
Задача ещё не решена.
Других решений пока нет …