fabric-texture
Version:
This JavaScript library enables fast and efficient image distortion transformations using Canvas 2D.
33 lines (32 loc) • 1.25 kB
TypeScript
import { fabric } from 'fabric';
/**
* 将画布DOM坐标转换为 Fabric.js 画布坐标系中的坐标
*
* 在 Fabric.js 中,画布可能会被缩放、平移或变换,导致DOM坐标系和画布坐标系不一致。
* 此函数用于将鼠标事件或触摸事件中的DOM坐标转换为画布内的实际坐标。
*
* @param canvas - Fabric.js 画布实例
* 支持普通画布(Canvas)和静态画布(StaticCanvas)
*
* @param offset - DOM坐标点
* @property {number} x - 相对于页面左边的x坐标
* @property {number} y - 相对于页面顶部的y坐标
*
* @returns {fabric.Point} 转换后的画布坐标点
*
* @example
* ```typescript
* // 处理鼠标点击事件
* canvas.on('mouse:down', (event) => {
* const pointer = event.pointer;
* const canvasPoint = calcFabricCanvasCoord(canvas, pointer);
* console.log('画布坐标:', canvasPoint.x, canvasPoint.y);
* });
* ```
*
* @remarks
* - 如果画布未经变换,返回值与输入坐标基本相同
* - 考虑了画布的缩放、平移和旋转等变换
* - 当viewportTransform为null时使用默认矩阵
*/
export declare const calcFabricCanvasCoord: (canvas: fabric.Canvas | fabric.StaticCanvas, offset: Coord) => fabric.Point;