Javascript HTML5画布能够在绘制图像后放大/缩小吗?

Javascript HTML5画布能够在绘制图像后放大/缩小吗?,javascript,jquery,html,canvas,zooming,Javascript,Jquery,Html,Canvas,Zooming,我的应用程序是基于用户将图像放置在画布上(通过我创建的使用lineTo()和arc()创建复杂形状的函数),然后让他们缩小,以便更高层次地了解他们所做的事情。类似地,他们可以加载其他人的创建并放大,以便在较低级别上更详细地查看所有这些对象的外观 这可能吗?当我想到缩放时,我想到的是谷歌地图类型的缩放 如果不可能,是否有其他解决方案,如使用常规图像和重新调整页面的部分大小 谢谢您的帮助。这就是您的想法: 所以你的意思是,每次缩放我都必须完全重新绘制形状?编辑-当然,如果画布中有数百个对象,我将不得

我的应用程序是基于用户将图像放置在画布上(通过我创建的使用lineTo()和arc()创建复杂形状的函数),然后让他们缩小,以便更高层次地了解他们所做的事情。类似地,他们可以加载其他人的创建并放大,以便在较低级别上更详细地查看所有这些对象的外观

这可能吗?当我想到缩放时,我想到的是谷歌地图类型的缩放

如果不可能,是否有其他解决方案,如使用常规图像和重新调整页面的部分大小


谢谢您的帮助。

这就是您的想法:


所以你的意思是,每次缩放我都必须完全重新绘制形状?编辑-当然,如果画布中有数百个对象,我将不得不删除旧形状,这似乎效率低下。谷歌地图是如何做到这一点的?另外,对于我想做的事情,您是否认为最好通过lineTo()和arc()手动绘制对象,或者使用小的.png图像?谢谢。@YoungMoney-谷歌地图没有使用
来绘制地图。他们在DOM中使用图像,并使用CSS来移动图像。PS:在浏览器中重新绘制画布非常快。这就是“动画”的意思——不断变化的图片。瞧,非常感谢德里克,你帮了我大忙。我将继续使用我目前的方法,并根据需要重新绘制。出于好奇,浏览器会广泛使用GPU来完成这样的任务,对吗?@JDS-有些浏览器使用GPU加速渲染。
ctx.save();
ctx.scale(2,2);    //zoom-in
doMyComplexShape();
ctx.restore();