text - 缩放文本以填充 HTML5 Canvas 的最佳方法

标签 text html canvas svg scale

我需要“缩放”文本以填充旧的 HTML5 Canvas 。 scale() 方法似乎不影响文本。我已经在 measureText() 方法上看到了带有迭代循环的近似方法,但这并不能完全满足我的需要。理想情况下,我想在不保留纵横比的情况下水平和垂直填充。 SVG 可能对此有所帮助吗?

最佳答案

我的错 - 缩放确实适用于文本。我想出了一个解决方案:

context.font = "20px 'Segoe UI'";
var metrics = context.measureText("Testing!");
var textWidth = metrics.width;

var scalex = (canvas.width / textWidth);
var scaley = (canvas.height / 23);

var ypos = (canvas.height / (scaley * 1.25));

context.scale(scalex, scaley);
context.fillText("Testing!", 0, ypos);

关于text - 缩放文本以填充 HTML5 Canvas 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4114052/

相关文章:

javascript - 使 Canvas 球平稳移动

android - Canvas.drawText(...) 不打印换行符

c# - 控制查看包含大量文本的文件

html - IE 6 和 7 后台继承问题,如何解决?

javascript - 按后退按钮访问时自动重新加载页面

javascript - 如何更新 Div 中的文本?

javascript - canvas - 瓷砖没有完全呈现

JavaScript 将文本转换为像素坐标

Python:将一个大文本文件分割为多个标题

javascript - Base64 图像数据不适用于 fabricjs 中的 loadfromJSON