Javascript 如何在使用createElement()创建后调整HTML画布对象的大小?

Javascript 如何在使用createElement()创建后调整HTML画布对象的大小?,javascript,canvas,size,Javascript,Canvas,Size,我正在使用以下javascript代码创建一个HTML画布对象: var Canvas = document.createElement("canvas"); Canvas.style.width = "500px"; 然后我在上面画文字 当画布显示时,整个画布已放大(包括内容)以匹配500px的宽度,这会导致丑陋的重新采样。我真正想要的是,内容保持不变,只是画布本身变大了 有什么想法吗?尝试更改元素的宽度,而不是CSS宽度 Canvas.width = 500; 尝试更改元素的宽度而不是C

我正在使用以下javascript代码创建一个HTML画布对象:

var Canvas = document.createElement("canvas");
Canvas.style.width = "500px";
然后我在上面画文字

当画布显示时,整个画布已放大(包括内容)以匹配500px的宽度,这会导致丑陋的重新采样。我真正想要的是,内容保持不变,只是画布本身变大了


有什么想法吗?

尝试更改元素的宽度,而不是CSS宽度

Canvas.width = 500;

尝试更改元素的宽度而不是CSS宽度

Canvas.width = 500;

Thomas的回答是正确的,但听起来好像你还想把现有的内容保留在画布上。更改画布大小时,它会自动清除并重置为默认状态。因此,您需要重新绘制内容,或者将内容复制到另一个canvase(使用
drawImage
),调整画布的大小,然后将内容复制回来(再次使用
drawImage
)。

Thomas的回答是正确的,但听起来您也希望将现有内容保留在画布上。更改画布大小时,它会自动清除并重置为默认状态。因此,您需要重新绘制内容,或者将内容复制到另一个canvase(使用
drawImage
),调整画布大小,然后将内容复制回来(再次使用
drawImage