我一直在使用一些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中的源代码。
答案 0 :(得分:7)
这是一个棘手的问题!
对于画布,您实际上并不使用Style来确定其宽度和高度。
因此,通过设置画布的样式,您实际上会扭曲画布。
因此,在您的主页面中撰写<canvas id="game" width=512 height=512> </canvas>
可以解决您的问题。
我测试了它以确认确实存在问题,所以如果还有问题,请告诉我,我会将代码发给您。
也不应该只是MainContext.drawImage(m.canvas, 0, 0);
?否则你正在压垮牛头怪?