私は非常に簡単な方法でテキストをキャンバスに印刷しています:
var ctx = canvas.getContext('2d');
ctx.font = "10pt Courier";
ctx.fillText("Hello World", 100, 100);
しかし、テキストを太字、斜体、またはその両方に変更するにはどうすればよいですか?その簡単な例を修正するための提案はありますか?
回答:
これらのいずれかを使用できます。
ctx.font = "italic 10pt Courier";
ctx.font = "bold 10pt Courier";
ctx.font = "italic bold 10pt Courier";
詳細については、次の2つのリソースを参照してください。
ctx.font = "400 10pt Courier"
ctx.font = "400 10pt Open Sans"
最新のブラウザバージョンでCalibriまたはOpenSansを使用しているChromeでは、フォントの重みが機能しませんでした
これに遭遇した人のために、追加の注意が必要です。受け入れられた回答に示されている順序に必ず従ってください。
注文を間違えたときに、クロスブラウザの問題が発生しました。「10pxVerdanabold」はChromeで機能しますが、IEやFirefoxでは機能しません。示されているように「太字の10pxVerdana」に切り替えると、これらの問題が修正されました。同様の問題が発生した場合は、順序を再確認してください。
では、1つのJSコマンドで設定font-weight
(font-size
またはfont-family
...)する方法はありませんか?すべてが1つの完全なフォント文字列である必要がありますか?
キャンバスのメソッドまたはプロパティでは、下線を引くことはできません。しかし、私はそれを成し遂げるためにいくつかの回避策を行いました。あなたはそれを@http ://scriptstock.wordpress.com/2012/06/12/html5-canvas-text-underline-workaroundでチェックすることができます
ここで実装を見つけることができますhttp://jsfiddle.net/durgesh0000/KabZG/