Это звучит, как вы хотите инициализирует холст с водяными знаками и очистить его от первого щелчка. Я не знаком с библиотекой наброска, но JavaScript решения простым может быть что-то вроде функции ниже - возможно, вы можете внести в него поправку, чтобы соответствовать вашему проекту ...
var firstFlag = true;
var canvas = $('#canvas');
var ctx = canvas.getContext('2d');
function watermark(e) {
if (firstFlag) {
/* firstFlag === true -> add text to canvas */
ctx.fillStyle = '#999';
ctx.font('bold 20px Serif');
ctx.textAlign = 'center';
ctx.fillText('Watermark Text', canvas.width/2, canvas.height/2);
/* reset firstFlag */
firstFlag = false;
} else {
/* firstFlag === false -> clear Canvas */
ctx.clearRect(0,0,canvas.width,canvas.height);
/* remove eventListener */
canvas.removeEventListener('click',watermark,false);
}
}
---
/* when the page is ready
add EventListener to canvas element and... */
canvas.addEventListener('click',watermark,false);
/* ...initialise the canvas by calling watermark() */
watermark(false);
watermark()
функция будет вызываться дважды; один раз, когда вызывается кодом (последняя строка) и один раз при нажатии элемента холста. Первый вызов watermark()
добавляет «Watermark Text» в центр холста: второй вызов (по щелчку) очищает холст и удаляет «щелчок» eventListener
, так что watermark()
никогда не вызывается снова, оставляя холст чистым и готовым за все, что вы хотите сделать дальше.
Надеюсь, это поможет. :)
ну, я постарался поставить ярлык с абсолютным положением, но это толкает меня, чтобы дважды щелкнуть. вот почему я решил исправить это в библиотеке. Кроуки добавляют слои для рисования сейчас, думая добавить что-то там, но его стороннюю библиотеку сложно внести в него изменения – Salman
Можете ли вы вставить свой код, пожалуйста? Может быть, мы можем исправить эту проблему, щелкнув дважды, или ищем другое решение, но было бы неплохо иметь начальную точку :) – AgataB
В основном я искал идею сделать это, чтобы вставить весь код wld bit трудно – Salman