UNPKG

mskalign-canvas

Version:

一个用于图片标注的javascript库,基于canvas,简单轻量,支持矩形、多边形、点、折线、圆形。

88 lines (87 loc) 3.81 kB
import type { Point } from '../types'; type DeepEqualResult = { equal: boolean; changedKeyValues?: { uuid: string; key: string; value1: any; value2: any; }; }; export declare function deepEqual(obj1: any, obj2: any): DeepEqualResult; export declare const math: { isNumber(val: number): boolean; isPositiveInt(val: string): boolean; isNotZeroNumber(val: number): boolean; notEmpty(val: number): boolean; isFalsy(val: number): boolean; isVoid(val: number | string): boolean; /** * 加法函数,用来得到精确的加法结果 * 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。 * @param {string|number} arg1 参数一 * @param {string|number} arg2 参数二 * @example 调用:accAdd(arg1,arg2) * @returns {number} 返回值:arg1加上arg2的精确结果 */ add(arg1: number, arg2: number): number; /** ** 减法函数,用来得到精确的减法结果 ** 说明:javascript的减法结果会有误差,在两个浮点数相减的时候会比较明显。这个函数返回较为精确的减法结果。 ** subtract(arg1:number, arg2:number) ** 返回值:arg1加上arg2的精确结果 为字符串 **/ subtract(arg1: number, arg2: number): string; /** ** 乘法函数,用来得到精确的乘法结果 ** 说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。 ** 调用:multiply(arg1,arg2) ** 返回值:arg1乘以 arg2的精确结果 **/ multiply(arg1: number, arg2: number): number; /** * 获取小数点位置 * @param number * @returns {number} */ getDecimalPointPosition(num: number | string): number; /** * * 截取 指定小数点位数的数据,不对数据进行任何转换 * 如:传入 12.126 digits为2时,返回12.12 * 传如 12.2 返回值 依然是12.2 * @param {number |string} number 数字 * @param {number} digits 保留小数点位数,如果小数点位置不大于要保留的位数则不作处理 * @param {boolean} toFixed 为true 使用 toFixed 处理,否则只截取长度不作任何转换 * @param {boolean} ignoreDecimalsWithZero 忽略掉小数值为0的值如,最后值为123.000,此参数为true时,返回值为123 * @returns {string | number} */ getDecimalPointWithDigits(number: string, digits?: number, toFixed?: boolean, ignoreDecimalsWithZero?: boolean): string; divide(arg1: number, arg2: number): number; /** * 将0.xxx 转换为百分比 * @param {float} num 浮点数 */ translatePercentage(num: number): string; /** * 四舍五入获取数据 * num 要转换的数字 * n 位数,默认为2 * 是否补0 默认为false */ round(num: number, n?: number, needAddZero?: boolean): string | number; }; export declare function throttled(fn: any, delay: number): () => void; export declare const cubicSplineInterpolation: (x: number[], y: number[]) => { x: number[]; y: number[]; b: any[]; c: any[]; d: any[]; }; type splineType = ReturnType<typeof cubicSplineInterpolation>; export declare const generateFittedPoints: (spline: splineType, numPointsPerSegment: number) => number[][]; export declare function combination(n: number, k: number): number; export declare function bezierPoint(points: Point[], t: number): number[]; export declare function bezierCurve(points: Point[], steps?: number): number[][]; export {};