Javascript html5画布纵横比?

Javascript html5画布纵横比?,javascript,Javascript,在html5画布元素使用中,我遇到了默认纵横比的问题。 Firefox和Safari中canvas元素的默认纵横比至少为 宽度和高度似乎为2/1。这是身高的唯一组合 和宽度,将为绘制到图形的矩形生成1:1的纵横比 画布元素 那么,如何为canvas元素设置允许的纵横比呢 1:1的比例用于提取项目 我有一个与编码论坛帐户,并没有得到充分的回应。 我已经获得了一些关于这个主题的印刷文本,但它们没有解决这个问题。 我已经编写javascript/html/css至少10年了 我希望我没有陷入无法改变的

在html5画布元素使用中,我遇到了默认纵横比的问题。 Firefox和Safari中canvas元素的默认纵横比至少为 宽度和高度似乎为2/1。这是身高的唯一组合 和宽度,将为绘制到图形的矩形生成1:1的纵横比 画布元素

那么,如何为canvas元素设置允许的纵横比呢 1:1的比例用于提取项目

我有一个与编码论坛帐户,并没有得到充分的回应。 我已经获得了一些关于这个主题的印刷文本,但它们没有解决这个问题。 我已经编写javascript/html/css至少10年了

我希望我没有陷入无法改变的违约率


查看类似问题的列表,我看不出这个问题得到了解决。

画布可以有自己的宽度和高度,这与Dom元素无关。 这导致了非1:1的纵横比

要修复此问题,需要设置width和height属性以匹配包含dom的元素的宽度和高度

例如,在jquery中,您可以执行以下操作

$('canvas').attr('width','100').attr('height','100')


这将使您的画布成为100像素的正方形。假设这是一个具有匹配宽度和高度属性的dom元素,那么您将得到1:1的纵横比。

具体问题是什么?如果宽度/高度比不是2/1,则以编程方式绘制到其上的正方形不会在屏幕上生成正方形,这是一个问题吗?如果没有,请解释。