Attualmente sto utilizzando la tela di HTML5 per eseguire il rendering di un numero di stringhe utilizzando il metodo fillText. Funziona bene, ma mi piacerebbe anche dare a ogni stringa un tratto esterno nero 1px. Sfortunatamente la funzione strokeText sembra applicare un tratto interno. Per contrastare questo, ho scritto una funzione drawStrokedText che raggiunge l'effetto che sto cercando. Sfortunatamente è orribile lento (per ovvi motivi).Disegno di testo con tratto esterno con tela HTML5
Esiste un modo rapido e cross-browser per ottenere un tratto esterno di 1 pixel utilizzando la funzionalità tela nativa?
drawStrokedText = function(context, text, x, y)
{
context.fillStyle = "rgb(0,0,0)";
context.fillText(text, x-1, y-1);
context.fillText(text, x+1, y-1);
context.fillText(text, x-1, y);
context.fillText(text, x+1, y);
context.fillText(text, x-1, y+1);
context.fillText(text, x+1, y+1);
context.fillStyle = "rgb(255,255,255)";
context.fillText(text, x, y);
};
Ecco un esempio degli effetti sul lavoro:
Come circa il rendering del testo con 'strokeText', ma con un carattere leggermente più grande per tenere conto della traccia interna? Inoltre, con quel metodo 'drawStrokedText' potresti saltare i turni orizzontale/verticale. (Sembra che manchi già verticale, in qualsiasi modo) – Cerbrus