1.0.0 • Published 5 years ago
base64-buffer-thumbnail v1.0.0
About
Generate an image thumbnail using base64 and buffers only!.
Purpose?
This module will generate an image thumbnail.
By default the thumbnail's file format will be the same than the source file. You can use the jpegOptions option to force output to jpeg.
Usage
Base64BufferThumbnail(source, options)
Async/Await (Typescript & ES7)
const Base64BufferThumbnail = require('base64-buffer-thumbnail');
try {
const thumbnail = await Base64BufferThumbnail('/9j/4AAQSkZJRgABAQEBLAEsAAD/4QEERXhpZgAA==');
console.log(thumbnail);
} catch (err) {
console.error(err);
}
Using promises (node 8.x)
const Base64BufferThumbnail = require('base64-buffer-thumbnail');
Base64BufferThumbnail(('/9j/4AAQSkZJRgABAQEBLAEsAAD/4QEERXhpZgAA==')
.then(thumbnail => { console.log(thumbnail) })
.catch(err => console.error(err));
Examples
From Base64
const Base64BufferThumbnail = require('base64-buffer-thumbnail');
try {
const thumbnail = await Base64BufferThumbnail('/9j/4AAQSkZJRgABAQEBLAEsAAD/4QEERXhpZgAA==');
console.log(thumbnail);
} catch (err) {
console.error(err);
}
From Buffer
const Base64BufferThumbnail = require('base64-buffer-thumbnail');
try {
const imageBuffer = fs.readFileSync('resources/images/valais.jpg');
const thumbnail = await Base64BufferThumbnail(imageBuffer);
console.log(thumbnail);
} catch (err) {
console.error(err);
}
Options
- options:
- percentage 0-100 - image thumbnail percentage. Default = 10
- width number - image thumbnail width.
- height number - image thumbnail height.
- responseType 'buffer' || 'base64' - response output type. Default = 'buffer'
- jpegOptions 0-100 - Example: { force:true, quality:100 }
- fit string - method by which the image should fit the width/height. Default = contain (details)
Examples
const Base64BufferThumbnail = require('base64-buffer-thumbnail');
let options = { percentage: 25, responseType: 'base64' }
try {
const thumbnail = await Base64BufferThumbnail('/9j/4AAQSkZJRgABAQEBLAEsAAD/4QEERXhpZgAA==', options);
console.log(thumbnail);
} catch (err) {
console.error(err);
}
const Base64BufferThumbnail = require('base64-buffer-thumbnail');
let options = { width: 100, height: 100, responseType: 'base64' }
try {
const thumbnail = await Base64BufferThumbnail('/9j/4AAQSkZJRgABAQEBLAEsAAD/4QEERXhpZgAA==', options);
console.log(thumbnail);
} catch (err) {
console.error(err);
}
const Base64BufferThumbnail = require('base64-buffer-thumbnail');
let options = { width: 100, height: 100, responseType: 'base64', jpegOptions: { force:true, quality:90 } }
try {
const thumbnail = await Base64BufferThumbnail('/9j/4AAQSkZJRgABAQEBLAEsAAD/4QEERXhpZgAA==', options);
console.log(thumbnail);
} catch (err) {
console.error(err);
}
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
1.0.0
5 years ago