UNPKG

vtf-js

Version:

A javascript IO library for the Valve Texture Format.

37 lines (36 loc) 1.45 kB
import { VImageData, VPixelArray } from './image.js'; /** @see {@link Filter} */ export declare const VFilters: { /** Point filtering - Always picks the nearest pixel when resampling. */ readonly Point: VFilter; /** Triangle/bilinear filtering - Blends the four pixels surrounding a given point. */ readonly Triangle: VFilter; /** Box filtering - Evenly blends in the four closest pixels. */ readonly Box: VFilter; readonly Mitchell: VFilter; readonly CatRom: VFilter; /** Lanczos-3 filtering - A sinc filter that acts identically to Valve's NICE filter. */ readonly Lanczos3: VFilter; }; /** Defines a filter that can be used to resize images. */ export interface VFilter { kernel: (distance: number) => number; radius: number; } interface CoeffsLine { start: number; coeffs: Float32Array; } export declare class VImageScaler { readonly src_width: number; readonly src_height: number; readonly dest_width: number; readonly dest_height: number; readonly filter: VFilter; coeffs_w: CoeffsLine[]; coeffs_h: CoeffsLine[]; constructor(src_width: number, src_height: number, dest_width: number, dest_height: number, filter: VFilter); protected calc_coeffs(size1: number, size2: number, filter: VFilter, cache: Record<string, Float32Array>): CoeffsLine[]; resize<T extends VPixelArray>(src: VImageData<T>, dst: VImageData<T>): VImageData<T>; } export {};