这是关于 WEB 开发、Canvas、HTML5 的。
我正在使用 HTML5 Canvas 和 JQuery 开发一个绘图应用程序。您可以绘制多个图层,并获得带有放大镜效果的动态缩放。
该架构是多个画布:
背景 :
- 画布-bg
层数:
第0层
第一层
第 2 层
...
- 层N
工具 :
幽灵(当用户想要画一条线时显示一条“幽灵”线。释放鼠标确认绘制)
放大层
我的问题是变焦。为了获得我想要的效果,我在放大层上重画了所有层。当然,当你在绘制 2000*2000 的图片时,它是非常慢的。更常见的是,您可以移动放大镜以在任何地方缩放,并且在 MouseMoveEvent 上调用重绘。
为了让它更快,我只画了玻璃下面的小区域(而不是整个层)。但它仍然很慢。我怎样才能加快知道?
插图:http: //imgur.com/hAtYsZi
您可以在黑色圆圈中看到该区域已放大。我用这段代码开始: