Ich drucke Text ziemlich einfach auf eine Leinwand:
var ctx = canvas.getContext('2d');
ctx.font = "10pt Courier";
ctx.fillText("Hello World", 100, 100);
Aber wie kann ich den Text fett, kursiv oder beides ändern? Irgendwelche Vorschläge, um dieses einfache Beispiel zu beheben?
javascript
html
canvas
typography
Ritchie
quelle
quelle
ctx.font = "400 10pt Courier"
ctx.font = "400 10pt Open Sans"
hat in Chrome mit Calibri oder Open Sans in den neuesten Browserversionen nicht funktioniertNur ein zusätzlicher Hinweis für alle, die darüber stolpern: Befolgen Sie unbedingt die in der akzeptierten Antwort angegebene Reihenfolge.
Ich hatte einige browserübergreifende Probleme, als ich die falsche Reihenfolge hatte. "10px Verdana fett" funktioniert in Chrome, jedoch nicht in IE oder Firefox. Das Umschalten auf "fett 10px Verdana" wie angegeben behebt diese Probleme. Überprüfen Sie die Reihenfolge, wenn Sie auf ähnliche Probleme stoßen.
quelle
Es gibt also keine Möglichkeit, nur einen JS-Befehl festzulegen
font-weight
(oderfont-size
oderfont-family
...). Es muss alles in einer vollständigen Schriftzeichenfolge sein?quelle
Unterstreichen ist durch keine der Canvas-Methoden oder -Eigenschaften möglich. Aber ich habe ein bisschen daran gearbeitet, um es zu erledigen. Sie können es unter http://scriptstock.wordpress.com/2012/06/12/html5-canvas-text-underline-workaround überprüfen
Die Implementierung finden Sie hier http://jsfiddle.net/durgesh0000/KabZG/
quelle