HTML5 Canvas 上的矩形被拉伸

Posted

技术标签:

【中文标题】HTML5 Canvas 上的矩形被拉伸【英文标题】:Rectangle on HTML5 Canvas is stretched 【发布时间】:2011-10-17 23:54:47 【问题描述】:

我正在开发一个网站,并尝试使用 javascripthtml5 画布上获取矩形。通常这没问题,但现在当我制作一个宽度和高度为 10 的矩形时。它似乎制作了一个宽度为 10 和高度为 20 的矩形。

我正在制作这样的矩形:

var canvas = $("#canvas");
var context = canvas.get(0).getContext("2d");

context.fillRect(0, 0, 10, 10);

div 画布的宽度设置为 100%,但我试图给它一个固定的宽度,但这也无济于事。

【问题讨论】:

【参考方案1】:

您需要在画布元素上设置宽度和高度,否则在某些浏览器中可能会出现这种情况。

<canvas id="canvas"   />

而且你不能用 CSS 设置画布大小,这会拉伸画布。

【讨论】:

成功了,谢谢。我还必须删除#canvas 的 CSS 中的宽度和高度设置。再次感谢,【参考方案2】:

画布的默认大小为 300 x 150。

您可能正在使用这些默认值,这会使矩形看起来不是正方形......

【讨论】:

以上是关于HTML5 Canvas 上的矩形被拉伸的主要内容,如果未能解决你的问题,请参考以下文章

HTML5中的Canvas

canvas绘制线条怎么改变线条长度

html5 canvas在img标签的图片上绘制矩形框、矩形框为1px时线条模糊问题

html5 canvas键盘左右移动矩形的问题

html5 canvas怎么载入图像

html5 canvas怎么载入图像