【问题标题】:How to get the center coordinates for current view in Fabric.js?如何在Fabric.js中获取当前视图的中心坐标?
【发布时间】:2020-02-23 21:55:40
【问题描述】:

我正在开发一个图像加载系统,为了让它在移动设备上工作,我需要获取当前视图的画布中心坐标。 它应该返回与我将鼠标悬停在中心上相同的结果。

我尝试在 fabric js github 上询问,他们给了我这个: 但这个结果每次都给了我一半的画布高度和宽度。 谁能帮我理解为什么?

var myCenterCoordinates = fabric.util.transformPoint({
  x: canvas.width / 2,
  y: canvas.height / 2,
}, fabric.util.invertTransform(canvas.viewportTransform));

如果我将鼠标悬停在画布的确切中心(我确实设置了鼠标位置),如果我调用 getcentercoordinates 函数,我应该会看到相同的结果(x 和 y)

编辑: fabric.util.invertTransform(canvas.viewportTransform)[4] 和 fabric.util.invertTransform(canvas.viewportTransform)[5] 为您提供当前视点左上角的当前 x 和 y 坐标,因此我们可能能够用那个强文本

做点什么

【问题讨论】:

    标签: javascript canvas fabricjs


    【解决方案1】:

    我找到了答案:

    var zoom=canvas.getZoom()
    function CenterCoord(){
       return{
          x:fabric.util.invertTransform(canvas.viewportTransform)[4]+(canvas.width/zoom)/2,
          y:fabric.util.invertTransform(canvas.viewportTransform)[5]+(canvas.height/zoom)/2
       }
    }
    

    使用这个:

    var centerX=CenterCoord().x
    var centerY=CenterCoord().y
    

    【讨论】:

      猜你喜欢
      • 2016-04-15
      • 2015-03-28
      • 1970-01-01
      • 2013-12-26
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多