Javascript 调整画布及其文本内容的大小

Javascript 调整画布及其文本内容的大小,javascript,jquery,html,html5-canvas,createjs,Javascript,Jquery,Html,Html5 Canvas,Createjs,我有一个画布上有一些文本,我想在各个方向上重新调整它的大小,但问题是,如果我使用css属性使其重新调整大小,画布中的文本内容就会变得模糊 var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); ctx.font = "30px Arial"; ctx.fillText("Hello World",10,50); 我曾经尝试过jquery使用容器重新调整画布大小,并使用css调整画布大小,但遇到了文本内

我有一个画布上有一些文本,我想在各个方向上重新调整它的大小,但问题是,如果我使用css属性使其重新调整大小,画布中的文本内容就会变得模糊

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.fillText("Hello World",10,50);
我曾经尝试过jquery使用容器重新调整画布大小,并使用css调整画布大小,但遇到了文本内容的高度/宽度问题,而且文本变得模糊。
有人能帮我吗?

是的,文本有许多小而紧的曲线,如果你试图调整原始文本的大小,这些曲线的缺陷很快就会显现出来。因此,调整文本大小,尤其是较大的文本大小,将始终导致文本的自然“锯齿”和抗锯齿瑕疵变得更加明显

画布的常用方法是将画布上的所有内容都视为可重绘。使用这种方法,您可以清除画布并使用适当调整大小的字体重新绘制文本


如果文本始终显示在画布图形的最上面,另一种方法是在画布的顶部放置SVG元素。SVG文本具有良好的伸缩性,因为它是基于矢量的,而不是基于像素的。您可以使用svg translate+scale根据比例因子来定位和调整svg文本的大小。这里有一个链接显示了它是如何完成的:

请参阅,以获取调整画布大小的演示,该画布将继续以原始大小绘制内容。如果您想在更改画布大小时更改项目的大小,那么您应该在重新绘制之前调整大小后
scale()
您的上下文是的,谢谢@markE,但是画布文本内容、字体及其大小正在动态变化,因此重新绘制画布会遇到问题。您能帮我吗?是的,查看此答案,了解有关缩放文本的完整详细信息: