UNPKG

koishi-plugin-image-tools

Version:
73 lines (72 loc) 4.89 kB
import { MemoryImage } from 'image-in-browser'; import { HTTP } from 'koishi'; import { ImageOperationOption } from './commands'; import type { Canvas, Image, Skia } from '@lgcnpm/koishi-plugin-skia-canvas'; export declare class OperationError extends Error { readonly i18nParams: any[]; readonly name = "OperationError"; readonly i18nPath: string; constructor(i18nPath: string, i18nParams?: any[]); } export declare function readGif(buf: ArrayBuffer): Promise<MemoryImage>; export declare function readImage(http: HTTP, src: string): Promise<MemoryImage>; export declare function imageSavePng(image: MemoryImage): Promise<Blob>; export declare function imageSaveGif(image: MemoryImage): Promise<Blob>; export declare function imageSave(image: MemoryImage): Promise<Blob>; export declare function canvasSavePng(canvas: Canvas): Promise<Blob>; export declare function canvasSaveGif(canvasList: (readonly [Canvas, number])[]): Promise<Blob>; export declare function gifHelper(sv: Skia, image: MemoryImage, process: (img: Image) => Promise<Canvas>): Promise<Blob>; export declare function ensureAnimation(image: MemoryImage): void; export declare function matchRegExps<T, R extends RegExp = RegExp, F extends (r: RegExpExecArray) => T = (r: RegExpExecArray) => T>(str: string, regexps: (readonly [R, F])[]): T; export declare const getSizeMatchReg: (width: number, height: number) => readonly [RegExp, (res: RegExpExecArray) => [number, number]]; export declare const getPercentMatchReg: (width: number, height: number) => readonly [RegExp, (res: RegExpExecArray) => [number, number]]; export declare const getRatioMatchReg: (width: number, height: number) => readonly [RegExp, (res: RegExpExecArray) => [number, number]]; export type RGBColorTuple = [number, number, number]; export type RGBAColorTuple = [number, number, number, number]; export type ColorTuple = RGBColorTuple | RGBAColorTuple; export declare function RGBA2RGB(rgba: RGBAColorTuple): RGBColorTuple; export declare function RGB2RGBA(rgb: RGBColorTuple): RGBAColorTuple; export declare function colorTupleToWebColor(color: ColorTuple): string; export declare function parseColor(color: string): RGBAColorTuple; export declare function parseAngle(angle: string): number; export interface CheckSizeOptions { minWidth?: number; minHeight?: number; maxWidth?: number; maxHeight?: number; defaultWidth?: number; defaultHeight?: number; } export declare function checkSize(width: number | undefined, height: number | undefined, options?: CheckSizeOptions): [number, number]; export declare function calcGradientLinePos(angleDeg: number, width: number, height: number): [number, number, number, number]; export declare function usePillowFilter(image: MemoryImage, range: [number, number], div: number, offset: number, kernel: number[][]): MemoryImage; export declare function colorMaskPilUtils(image: MemoryImage, color: [number, number, number]): MemoryImage; export declare function flipHorizontal(image: MemoryImage): Promise<Blob>; export declare function flipVertical(image: MemoryImage): Promise<Blob>; export declare function flipBoth(image: MemoryImage): Promise<Blob>; export declare function grayScale(image: MemoryImage): Promise<Blob>; export declare function rotate(image: MemoryImage, _: Skia, { args: [angle] }: ImageOperationOption<[number]>): Promise<Blob>; export declare function resize(image: MemoryImage, _: Skia, { args: [size] }: ImageOperationOption<[string]>): Promise<Blob>; export declare function crop(image: MemoryImage, _: Skia, { args: [size] }: ImageOperationOption<[string]>): Promise<Blob>; export declare function invert(image: MemoryImage): Promise<Blob>; export declare function contour(image: MemoryImage): Promise<Blob>; export declare function emboss(image: MemoryImage): Promise<Blob>; export declare function blur(image: MemoryImage, _: Skia, { options: { radius } }: ImageOperationOption<any[], { radius?: number; }>): Promise<Blob>; export declare function sharpen(image: MemoryImage): Promise<Blob>; export declare function pixelate(image: MemoryImage, _: Skia, { options: { size } }: ImageOperationOption<any[], { size?: number; }>): Promise<Blob>; export declare function colorMask(image: MemoryImage, _: Skia, { args: [color] }: ImageOperationOption<[string]>): Promise<Blob>; export declare function colorImage(_: any, __: Skia, { args: [color], options: { width, height }, }: ImageOperationOption<[string], { width?: number; height?: number; }>): Promise<Blob>; export declare function gradientImage(_: any, skia: Skia, { args: colors, options: { angle, width, height }, }: ImageOperationOption<string[], { angle?: string; width?: number; height?: number; }>): Promise<Blob>; export declare function gifSplit(image: MemoryImage): Promise<Blob[]>; export declare function gifReverse(image: MemoryImage): Promise<Blob>;