在另一个画布上绘制画布是模糊的。我该如何解决?

时间:2011-04-18 13:23:12

标签: html5 animation canvas sprite

我一直在使用一些HTML5画布实验,并进行了一系列技术实验编辑 https://github.com/AlexChesser/jsSprite(在Minotaur关键演示中使用WSAD,Q,E,X键,添加C和Z在僵尸演示上)

如果您查看1号演示:01-draw_minotaur.php,您会看到画布上直接绘制的图像,看起来很漂亮。

但是,如果你将我将Minotaur放在画布上的演示进行比较,然后在父画布上绘制该画布,则结果会模糊:03-drawn_minotaur_on_canvas.php

如何确保画布上的画布不模糊?

GIT上的

编辑完整代码:https://github.com/AlexChesser/jsSprite

edit2:请注意,谷歌已将我的域名标记为恶意软件(这是公平的,因为托管服务提供商遭到黑客攻击,那里有一个短暂的时刻,那里有某种恶意软件)而不是离开易受攻击的链接,我已经更新,专门指向github中的源代码。

1 个答案:

答案 0 :(得分:7)

这是一个棘手的问题!

对于画布,您实际上并不使用Style来确定其宽度和高度。

因此,通过设置画布的样式,您实际上会扭曲画布。

因此,在您的主页面中撰写<canvas id="game" width=512 height=512> </canvas>可以解决您的问题。

我测试了它以确认确实存在问题,所以如果还有问题,请告诉我,我会将代码发给您。

也不应该只是MainContext.drawImage(m.canvas, 0, 0);?否则你正在压垮牛头怪?