Расчет позиции щелчка на смещенном элементе в Konva - PullRequest
0 голосов
/ 12 июля 2020

У меня есть элемент, расположенный на холсте konva, и я могу вычислить правильную позицию событий щелчка. Но когда я смещаю X или Y любого элемента, расчет координат щелчка смещается на ту же величину, на которую я смещаю X или Y.

Это код, который вычисляет правильные координаты щелчка ( из руководств Konva docs)

// this function will return pointer position relative to the passed node
function getRelativePointerPosition(node) {
  var transform = node.getAbsoluteTransform().copy();
  // to detect relative position we need to invert transform
  transform.invert();

  // get pointer (say mouse or touch) position
  var pos = node.getStage().getPointerPosition();

  // now we can find relative point
  return transform.point(pos);
}

Итак, если я попытаюсь разместить изображение в центре холста следующим образом:

        <Image
          image={image}
          onClick={addPoint}
          onTap={addPoint}
          width={imageInfo.targetWidth}
          height={imageInfo.targetHeight}
          offsetY={imageInfo.centerY}
          y={centerY}
        />

Где centerY равно canvasHeight / 2, когда я нажимаю на изображении позиция щелчка - imageInfo.centerY пикселей вверх.

...