mskalign-canvas
Version:
一个用于图片标注的javascript库,基于canvas,简单轻量,支持矩形、多边形、点、折线、圆形。
88 lines (87 loc) • 3.81 kB
TypeScript
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 {};