Как получить координаты центра для текущего представления в Fabric.js? - PullRequest
0 голосов
/ 28 октября 2019

Я работаю над системой загрузки изображений и чтобы она работала на мобильном устройстве, мне нужно получить координаты центра холста для моего текущего вида. Он должен вернуть тот же результат, как если бы я наводил курсор мыши на центр.

Я пытался спросить о ткани js github, и они дали мне это: но этот результат каждый раз возвращал мне половину высоты и ширины холста. Может ли кто-нибудь помочь мне понять, почему?

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

Если я наведу курсор мыши на точный центр холста (у меня настроена позиция мыши), я должен увидеть тот же результат (x и y), если явызовите функцию getcentercoordinates

edit: fabric.util.invertTransform (canvas.viewportTransform) [4] и fabric.util.invertTransform (canvas.viewportTransform) [5] даст вам текущие значения x и y для верхнего левого углас вашей текущей точки зрения, поэтому мы могли бы что-то сделать с этим сильным текстом

1 Ответ

1 голос
/ 28 октября 2019

Я нашел ответ:

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
...