UNPKG

zoom-image-data

Version:
72 lines (71 loc) 2.24 kB
import { TransferToWindow } from 'transfer-to-window'; type ConstructorParam = ConstructorParameters<typeof TransferToWindow>[0]; type param = ConstructorParam & { /** 输入数据 */ inData: ArrayBuffer; /** 输出数据 */ outData: ArrayBuffer; /** 单元格宽高比例; 默认值: 1 */ cellRatio?: number; /** 单元格基础尺寸; 默认值: 10 */ cellWH?: number; /** 各单元格之间有分割线; 默认值: false */ splitCell?: boolean; /** 单元格分割线的像素值; 默认值: 2 */ splitCellSize?: number; }; declare class ZoomImageData extends TransferToWindow { /** 输入源数据 */ sourceData: Uint32Array; /** 输入源数据宽 */ sourceW: number; /** 输入源数据高 */ sourceH: number; /** 输出数据 */ outData: Uint32Array; /** 各单元格之间有分割线; 默认值: false */ splitCell: boolean; /** 单元格分割线的像素值; 默认值: 2 */ splitCellSize: number; constructor(param: param); /** * Update outputData */ update(): void; /** * Translate on outdata * @param dx * @param dy * @param silent Whether update outData */ translate(dx: number, dy: number, silent?: boolean): void; /** * Scale ratio multiple at position(cx,cy) on outdata * @param cx * @param cy * @param ratio * @param silent Whether update outData */ zoom(cx: number, cy: number, ratio: number, silent?: boolean): void; /** * 以InCoor:(cx,cy)为中心缩放到scale比例 * @param cx * @param cy * @param scale * @param silent 是否更新outData */ zoomToByInCoor(cx: number, cy: number, scale: number, silent?: boolean): void; /** * 将输入数据完整放置于输出窗口的正中间;效果类似于CSS效果: * background-size: contain; * background-repeat: no-repeat; * background-position: center; * @param silent Whether update outData */ resize(silent?: boolean): void; /** * 坐标(x,y)是否位于输入视框内 */ inCoorIsIn(x: number, y: number): boolean; } export { ZoomImageData, ZoomImageData as default };