HTML5:使用画布呈现绝对图像

HTML5: Rendering absolute images using canvas

本文关键字:图像 布呈现 HTML5      更新时间:2023-09-26

我正在尝试使用canvas作为我的HTML5介绍的一部分。这构成了作业,但我并没有要求任何实际课程作业的帮助。

我试图写一个渲染引擎,但没有运气,因为一旦图像被绘制在画布上,它看起来非常扭曲,而不是在图像本身的正确尺寸。

我做了一个动画引擎,它将图像加载到数组中,然后以一定的速度迭代它们。这不是问题所在,我认为这不是导致问题的原因,因为当我在画布上绘制图像时没有动画组件。

我认为当窗口被调整大小时,图像被缩放/倾斜是很自然的行为,所以我通过简单地重新绘制整个窗口来克服这个问题。

我使用的图像是等距的,并且是在像素级别绘制的。这会导致失真吗?似乎在drawImage()函数上设置尺寸都不起作用。我使用JavaScript来操作和渲染画布。

我通常会尝试自己解决,但我没有时间去思考为什么,因为我不知道为什么它甚至缩放/扭曲图像,一旦它被绘制在画布上。由于显而易见的原因,我不能分享代码。我还应该提到,画布的尺寸是视口的总宽度,因为我正在开发一款游戏。

我的问题是:有没有人遇到这种情况,我该如何纠正它?

谢谢你的帮助。

似乎你用css设置了画布的尺寸。尝试将它们定义为html属性。例子:

<canvas id="test" width="100" height="100">Fallback content</canvas>

编辑:它将设置画布元素的宽度/高度为100/100像素。

是的,问题是我在用CSS设置画布的尺寸。canvas元素被视为图像,我实际上是用CSS缩放画布,而不是调整它的大小。谢谢你的帮助。-刚刚标记