image-utility-library
Version:
A Node.js library for compressing, resizing, cropping, and applying effects to images.
49 lines (40 loc) • 1.65 kB
JavaScript
import { readFileSync, writeFileSync } from 'fs';
import {
compressImage,
cropImage,
resizeImage,
formatImage,
// applyEffects,
exportAsZip,
} from './src/index.js';
const testLibrary = async () => {
const imageBuffer = readFileSync('./testing/test2.png');
if (!imageBuffer) {
throw new Error('Failed to read image file');
}
const compressed = await compressImage(imageBuffer, 50);
writeFileSync('output-compressed.jpg', compressed);
console.log('Image compression completed successfully');
const cropped = await cropImage(imageBuffer, 300, 300);
writeFileSync('output-cropped.jpg', cropped);
console.log('Image cropping completed successfully');
const resized = await resizeImage(imageBuffer, 800, 600);
writeFileSync('output-resized.jpg', resized);
console.log('Image resizing completed successfully');
const converted = await formatImage(imageBuffer, 'webp');
writeFileSync('output-converted.webp', converted);
console.log('Image format conversion completed successfully');
// const effect = await applyEffects(imageBuffer, 'sepia');
// writeFileSync('output-effect.jpg', effect);
// console.log('Image effect application completed successfully');
// Export images as a ZIP
await exportAsZip(
[
{ name: 'cropped.jpg', buffer: cropped },
{ name: 'resized.jpg', buffer: resized },
],
'processed-images.zip'
);
console.log('ZIP export completed successfully');
};
testLibrary().catch(error => console.error('Error:', error));