代码之家  ›  专栏  ›  技术社区  ›  Gary Willoughby

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

  •  0
  • Gary Willoughby  · 技术社区  · 16 年前

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

    var Canvas = document.createElement("canvas");
    Canvas.style.width = "500px";
    

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

    有什么想法吗?

    2 回复  |  直到 16 年前
        1
  •  2
  •   Thomas J Bradley    16 年前

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

    Canvas.width = 500;
    
        2
  •  1
  •   Matthew Crumley    16 年前

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