UNPKG

ness-canvas

Version:
152 lines 4.48 kB
import { Canvas, ImageData } from "canvas"; import { CanvasImage, Edge, ImageChannels, ImageExtention } from ".."; export default class FilterBuilder { private dataDraft; private dstImageData; private context; private canvas; private srcPixels; private srcWidth; private srcHeight; private srcLength; private dstPixels; private tmpImageData; private tmpPixels; private filter; constructor(image: CanvasImage); private createImageData; private clamp; private buildMap; private applyMap; private mapRGB; private getPixelIndex; private getPixel; private getPixelByIndex; private copyBilinear; /** * @param r 0 <= n <= 255 * @param g 0 <= n <= 255 * @param b 0 <= n <= 255 * @return Array(h, s, l) */ private rgbToHsl; /** * @param h 0.0 <= n <= 1.0 * @param s 0.0 <= n <= 1.0 * @param l 0.0 <= n <= 1.0 * @return Array(r, g, b) */ private hslToRgb; private ConvolutionFilter; private Clone; private Copy; private ColorMatrixFilter; /** * @param threshold 0.0 <= n <= 1.0 */ Binarize(threshold?: number): Promise<ImageData>; /** * @param hRadius 1 <= n <= 20 * @param vRadius 1 <= n <= 20 * @param quality 1 <= n <= 10 */ BoxBlur(hRadius?: number, vRadius?: number, quality?: number): Promise<ImageData>; /** * @ param strength 1 <= n <= 4 */ GaussianBlur(strength?: number): Promise<ImageData>; /** * @param radius 1 <= n <= 180 */ StackBlur(radius?: number): Promise<ImageData>; /** * GIMP algorithm modified. pretty close to fireworks * @param brightness -100 <= n <= 100 * @param contrast -100 <= n <= 100 */ BrightnessContrastGimp(brightness: number, contrast: number): Promise<ImageData>; /** * more like the new photoshop algorithm * @param brightness -100 <= n <= 100 * @param contrast -100 <= n <= 100 */ BrightnessContrastPhotoshop(brightness: number, contrast: number): Promise<ImageData>; /** * @param channel enum ImageChannels { Red = 1, Green = 2, Bleu = 3 } */ Channels(channel: ImageChannels): Promise<ImageData>; /** * sets to the average of the highest and lowest contrast */ Desaturate(): Promise<ImageData>; /** * Floyd-Steinberg algorithm * @param levels 2 <= n <= 255 */ Dither(levels: number): Promise<ImageData>; Edge(): Promise<ImageData>; Emboss(): Promise<ImageData>; Enrich(): Promise<ImageData>; Flip(vertical: boolean): Promise<ImageData>; /** * @param gamma 0 <= n <= 3 <= n */ Gamma(gamma: number): Promise<ImageData>; GreyScale(): Promise<ImageData>; /** * @param hueDelta -180 <= n <= 180 * @param satDelta -100 <= n <= 100 * @param lightness -100 <= n <= 100 */ HSLAdjustment(hueDelta: number, satDelta: number, lightness: number): Promise<ImageData>; Invert(): Promise<ImageData>; /** * @param blockSize 1 <= n <= 100 */ Mosaic(blockSize: number): Promise<ImageData>; /** * @param range 1 <= n <= 5 * @param levels 1 <= n <= 256 */ Oil(range: number, levels: number): Promise<ImageData>; /** * @param levels 2 <= n <= 255 */ Posterize(levels: number): Promise<ImageData>; Sepia(): Promise<ImageData>; /** * @param factor 1 <= n */ Sharpen(factor: number): Promise<ImageData>; Solarize(): Promise<ImageData>; Transpose(): Promise<ImageData>; /** * @param centerX 0.0 <= n <= 1.0 * @param centerY 0.0 <= n <= 1.0 * @param radius * @param angle(degree) * @param edge enum Edge { Clamp = 1, Wrap = 2, Transparent = 0 } * @param smooth */ Twril(centerX: number, centerY: number, radius: number, angle: number, edge: Edge, smooth: boolean): Promise<ImageData>; /** * Return the canvas after applying the effects */ getCanvas(): Canvas; /** * Generated image from canvas * @param location Image Generation Path * @param name Image name * @param type Image extention */ generatedTo(location: string, name: string, type: ImageExtention): void; /** * Return canvas Buffer */ toBuffer(): Buffer; /** * Returns a base64 encoded string */ toDataURL(): string; } //# sourceMappingURL=FilterBuilder.d.ts.map