坐标转换

这部分主要是说明视口坐标、Canvas 坐标和页面坐标之前的相互转换。其中视口坐标和 Canvas 坐标的示意图如下所示。坐标转换 - 图1

getPointByClient(clientX, clientY)

将屏幕/页面坐标转换为视口坐标。

参数

名称类型是否必选描述
clientXNumbertrue屏幕 x 坐标
clientYNumbertrue屏幕 y 坐标

返回值

  • 返回值类型:Object;
  • 包含的属性:x 和 y 属性,分别表示视口的 x 、y 坐标。

用法

  1. const point = graph.getPointByClient(e.clientX, e.clientY);
  2. console.log('视口x/y坐标分别为:', point.x, point.y);

getClientByPoint(x, y)

将视口坐标转换为屏幕/页面坐标。

参数

名称类型是否必选描述
xNumbertrue视口 x 坐标
yNumbertrue视口 y 坐标

返回值

  • 返回值类型:Object;
  • 包含的属性:x 和 y 属性,分别表示屏幕/页面的 x、y 坐标。

用法

  1. const point = graph.getClientByPoint(100, 200);
  2. console.log('屏幕/页面x/y坐标分别为:', point.x, point.y);

getPointByCanvas(canvasX, canvasY)

将 Canvas 画布坐标转换为视口坐标。

参数

名称类型是否必选描述
canvasXNumbertrue画布x坐标
canvasYNumbertrue画布y坐标

返回值

  • 返回值类型:Object;
  • 包含的属性:x 和 y 属性,分别表示视口的 x、y 坐标。

用法

  1. const point = graph.getPointByCanvas(100, 200);
  2. console.log('视口x/y坐标分别为:', point.x, point.y);

getCanvasByPoint(x, y)

将视口坐标转换为 Canvas 画布坐标。

参数

名称类型是否必选描述
xNumbertrue视口 x 坐标
yNumbertrue视口 y 坐标

返回值

  • 返回值类型:Object;
  • 包含的属性:x 和 y 属性,分别表示 Canvas 画布的 x、y 坐标。

用法

  1. const point = graph.getCanvasByPoint(100, 200);
  2. console.log('Canvas画布的x/y坐标分别为:', point.x, point.y);