Es klingt klar sein, wie Sie Ihre Leinwand mit einem Wasserzeichen initialisieren wollen und es auf den ersten Klick zu löschen. Ich bin nicht vertraut mit der Croquis Bibliothek, sondern eine Ebene könnte so etwas wie die JavaScript-Funktion Lösung unten sein - vielleicht können Sie es ändern Ihr Projekt zu passen ...
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);
Die watermark()
Funktion zweimal aufgerufen wird; einmal beim Aufruf durch Code (letzte Zeile) und einmal beim Anklicken des Canvas-Elements. Der erste Aufruf an watermark()
fügt "Watermark Text" in der Mitte der Leinwand: der zweite Aufruf (beim Klicken) löscht die Leinwand und entfernt den "Klick" eventListener
, so dass watermark()
nie wieder aufgerufen wird, die Leinwand sauber und bereit für was auch immer Sie als nächstes tun möchten.
Hoffe, das hilft. :)
gut ich habe versucht, Label mit absoluter Position zu setzen, aber das drücken, um zweimal zu klicken. Deshalb habe ich gedacht, es in der Bibliothek zu reparieren. Croquis addieren Sie Schichten für das Zeichnen jetzt m denkend an addieren Sie etwas dort aber sein eine Drittparteibibliothek sein schwierig, Änderungen in ihm zu machen – Salman
Können Sie Ihren Code bitte einfügen? Vielleicht können wir das Problem beheben, indem wir zweimal klicken, oder nach einer anderen Lösung suchen, aber es wäre nett, einen Ausgangspunkt zu haben :) – AgataB
Im Grunde bin ich auf der Suche nach einer Idee, um es zu tun, um alle Code wld Bit schwierig einfügen – Salman