Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在HTML画布元素上绘制文本的最佳方式是什么?_Javascript_Html_Text_Canvas - Fatal编程技术网

Javascript 在HTML画布元素上绘制文本的最佳方式是什么?

Javascript 在HTML画布元素上绘制文本的最佳方式是什么?,javascript,html,text,canvas,Javascript,Html,Text,Canvas,不幸的是,canvas元素不能很好地处理文本。有很多方法,例如,请参见,但它们大多看起来像黑客。我能做什么呢?这是跨平台的,并为我提供了最大的灵活性,使我的字体符合我的要求?你看过typeface.js吗。我听说它很适合写文字。以下是他们的网站: js使用浏览器的矢量绘图功能在HTML文档中绘制文本。很长一段时间以来,浏览器都支持矢量绘图——Firefox、Safari和Opera支持元素和SVG,IE支持VML js项目有两个组件:用于转换字体的perl模块和用于在浏览器中绘图的javascr

不幸的是,canvas元素不能很好地处理文本。有很多方法,例如,请参见,但它们大多看起来像黑客。我能做什么呢?这是跨平台的,并为我提供了最大的灵活性,使我的字体符合我的要求?

你看过typeface.js吗。我听说它很适合写文字。以下是他们的网站:

js使用浏览器的矢量绘图功能在HTML文档中绘制文本。很长一段时间以来,浏览器都支持矢量绘图——Firefox、Safari和Opera支持元素和SVG,IE支持VML

js项目有两个组件:用于转换字体的perl模块和用于在浏览器中绘图的javascript库。perl模块从truetype字体中提取字形轮廓信息,并以JSON格式写入该数据。然后javascript库遍历HTML文档并使用或VML呈现文本以绘制图示符


在支持文本的浏览器中,文本是可选择的,但你必须有信心。当您选择时,没有反馈,没有突出显示来让您知道它正在工作。未来的工作将致力于实现更好的跨浏览器支持,以选择突出显示的文本。引用自

如果要使用HTML5文本方法,应尝试以下库: 我是主要的开发人员,所以我可以提供帮助,并快速地进行更改

演示如下:


它仍处于alpha阶段,因此欢迎任何bug报告和反馈!:

该链接是旧的,它所指向的规范已更新为文本图形api。对于一个类似的、希望有帮助的问题,请参见fillText仅在Safari和Firefox的beta版中受支持,但不确定其他浏览器是否支持,这并不意味着它非常有用。我的链接中提到的各种黑客大多是跨平台的。