Files
squoosh/src/codecs/resize/processor-meta.ts
Jake Archibald 9e5b66d5f4 Better resize methods (#498)
* Port resize to wasm

* Expose resize algorithms

* Lanczos3 working!

* lol copy paste

* Adding support for other resizers

* Don’t track generated README

* Cache wasm instance
2019-03-06 17:20:25 +00:00

32 lines
901 B
TypeScript

type BrowserResizeMethods = 'browser-pixelated' | 'browser-low' | 'browser-medium' | 'browser-high';
type WorkerResizeMethods = 'point' | 'triangle' | 'catrom' | 'mitchell' | 'lanczos3';
export interface ResizeOptions {
width: number;
height: number;
method: 'vector' | BrowserResizeMethods | WorkerResizeMethods;
fitMethod: 'stretch' | 'contain';
}
export interface BrowserResizeOptions extends ResizeOptions {
method: BrowserResizeMethods;
}
export interface WorkerResizeOptions extends ResizeOptions {
method: WorkerResizeMethods;
}
export interface VectorResizeOptions extends ResizeOptions {
method: 'vector';
}
export const defaultOptions: ResizeOptions = {
// Width and height will always default to the image size.
// This is set elsewhere.
width: 1,
height: 1,
// This will be set to 'vector' if the input is SVG.
method: 'lanczos3',
fitMethod: 'stretch',
};