我以一种非常简单的方式将文本打印到画布上:
var ctx = canvas.getContext('2d');
ctx.font = "10pt Courier";
ctx.fillText("Hello World", 100, 100);
但是,如何将文本更改为粗体,斜体或两者呢?有什么建议可以解决这个简单的例子吗?
Answers:
您可以使用以下任何一种:
ctx.font = "italic 10pt Courier";
ctx.font = "bold 10pt Courier";
ctx.font = "italic bold 10pt Courier";
有关更多信息,这里有一些资源:
ctx.font = "400 10pt Courier"
ctx.font = "400 10pt Open Sans"
在最新版本的浏览器中,使用Calibri或Open Sans在Chrome中通过字体粗细对我不起作用
对于任何偶然发现此问题的人,请多加注意:确保遵循接受的答案中显示的顺序。
订购顺序错误时,我遇到了一些跨浏览器的问题。在Chrome中使用“ 10px Verdana粗体”字样,但在IE或Firefox中不起作用。按照指示将其切换为“粗体10px Verdana”,可以解决这些问题。如果您遇到类似的问题,请仔细检查订单。
下划线不可能通过任何canvas方法或属性来实现。但是我做了一些工作来完成它。您可以在@ http://scriptstock.wordpress.com/2012/06/12/html5-canvas-text-underline-workaround中查看
您可以在这里找到实现http://jsfiddle.net/durgesh0000/KabZG/