UNPKG

fabric-texture

Version:

This JavaScript library enables fast and efficient image distortion transformations using Canvas 2D.

33 lines (32 loc) 1.25 kB
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;