1.1.17 • Published 6 years ago
ts-image-processor v1.1.17
TypeScript image processor
This library provides basic image processing functions for use in TypeScript or Angular projects.
Available processing functions:
- applyExifOrientation
- resize
- sharpen
- rotate
- mirror
- noop
For best results I recommend to always use sharpen after resize - that's what Photoshop does, too ;)
Available File/HTMLImageElement utility functions:
- fileToBase64
- fileToArrayBuffer
- base64ToImgElement
- base64ToArrayBuffer
Advantages
- Smooth resizing of images in multiple resize-steps
- Prevents error on iOS
Total canvas memory use exceeds the maximum limitby using only one canvas for everything - Tree shakable - if you use a bundler like Webpack it will not include unused functions in your project
Demo
See the demo here
Usage
npm i ts-image-processor -Simport { getBlobForFile, imageProcessor, resize, sharpen, output } from 'ts-image-processor';
// If you have a file from <input>, convert it to base64-string first
getBlobForFile(file).then(base64 => {
// Use any of the functions with an existing blob (base64-string)
imageProcessor
.src(base64)
.pipe(
resize({maxWidth: 800, maxHeight: 800}),
sharpen(),
)
.then(processedBase64 => {
// Do whatever with your happy result :)
});
});Contribute
Feel free to create pull requests
Todo's
- Cleanup files/folders + tslint
imageProcessor.src()should handle wrong inputimageProcessor.src()should acceptFileimageProcessor.src()should acceptFileListimageProcessor.src()should acceptFile[]imageProcessor.src()should acceptstring[](base64-array)rotate()should provide more options than just 90° rotation- Process everything within a Web Worker
- Write advanced documentation with included typedoc