首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jCanvas -缩放时拖n下降

jCanvas -缩放时拖n下降
EN

Stack Overflow用户
提问于 2013-12-13 08:08:36
回答 1查看 750关注 0票数 1

我画了一幅不同层次的画布。如果我放大画布,那么就不再正确的位置。但我希望能够放大,不需要任何延迟。画布本身被放大了。

这是我的职责:

代码语言:javascript
复制
function zoomCanvas(diff){
  $("#myCanvas").scaleCanvas({
    x: 0, y: 0,
    scaleX: diff, scaleY: diff
  })
  .drawLayers();
}
EN

回答 1

Stack Overflow用户

发布于 2013-12-15 22:33:00

因为您正在使用画布上的jCanvas层,因此每当层被重新绘制时,画布都需要缩放。

因此,必须将scaleCanvas()调用设置为jCanvas层(是的,实际上可以这样做),方法是将其layer属性设置为true

代码语言:javascript
复制
$("#myCanvas").scaleCanvas({
    layer: true,
    name: "zoom", // give layer a name so we can easily retrieve it later
    x: 0, y: 0,
    scale: 1 // set its scale factor to 1 
});

但是,为了使它正常工作,您应该在所有其他层之前创建这个scaleCanvas层,然后您可以更改它的scale属性层。

代码语言:javascript
复制
// Function for setting zoom level of canvas
function zoomCanvas(diff) {
    // Update zoom level
    $("#myCanvas").setLayer('zoom', {
        scale: diff
    })
    // Redraw canvas
    .drawLayers();
}

顺便说一句,我在示例中使用的scale属性更改了您在示例中使用的scaleXscaleY属性;scale属性只是为了方便而存在。

最后,这里是实现所有这些的一个工作的JSFiddle演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20561828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档