HTML5画布文本换行示例
<!DOCTYPE HTML> <html> <head> <style> body { margin: 0px; padding: 0px; } #myCanvas { border: 1px solid #9C9898; } </style> <script> function wrapText(context, text, x, y, maxWidth, lineHeight) { var words = text.split(" "); var line = ""; for (var n = 0; n < words.length; n++) { var testLine = line + words[n] + " "; var metrics = context.measureText(testLine); var testWidth = metrics.width; if (testWidth > maxWidth) { context.fillText(line, x, y); line = words[n] + " "; y += lineHeight; } else { line = testLine; } } context.fillText(line, x, y); } window.onload = function () { var canvas = document.getElementById("myCanvas"); var context = canvas.getContext("2d"); var maxWidth = 300; var lineHeight = 25; var x = (canvas.width - maxWidth)/2; var y = 60; var text = "All the world 's a stage, and all the men and women merely players. "; context.font = "16pt Calibri"; context.fillStyle = "#333"; wrapText(context, text, x, y, maxWidth, lineHeight); }; </script> </head> <body> <canvas id="myCanvas" width="400" height="170"></canvas> </body> </html>
HTML5 Canvas 文本换行
文本换行是在 HTML5 画布中创建一个函数。
该函数定义了文本字符串、位置、宽度、行高。
mesaureText() 方法计算下一行,当下一行应该换行时。
日期:2020-04-11 23:04:10 来源:oir作者:oir