
Product
A New Overview in our Dashboard
We redesigned Socket's first logged-in page to display rich and insightful visualizations about your repositories protected against supply chain threats.
browser-image-resizer
Advanced tools
A browser-based utility to downscale and resize images using <canvas>
A tiny (~7kb uncompressed, ~1kb compressed) browser-based library to downscale and/or resize images using <canvas>
.
The code was part of Ross Turner's HTML5-ImageUploader. Note that this is meant to be a browser-only utility and will not work in Node.js.
npm install browser-image-resizer
yarn add browser-image-resizer
<script src="https://cdn.jsdelivr.net/gh/ericnograles/browser-image-resizer@2.4.0/dist/index.js"></script>
import { readAndCompressImage } from 'browser-image-resizer';
const config = {
quality: 0.5,
maxWidth: 800,
maxHeight: 600,
debug: true
};
// Note: A single file comes from event.target.files on <input>
readAndCompressImage(file, config)
.then(resizedImage => {
// Upload file to some Web API
const url = `http://localhost:3001/upload`;
const formData = new FormData();
formData.append('images', resizedImage);
const options = {
method: 'POST',
body: formData
};
return fetch(url, options);
})
.then(result => {
// TODO: Handle the result
console.log(result);
});
import { readAndCompressImage } from 'browser-image-resizer';
const config = {
quality: 0.7,
width: 800,
height: 600
};
// Note: A single file comes from event.target.files on <input>
async function uploadImage(file) {
try {
let resizedImage = await readAndCompressImage(file, config);
const url = `http://localhost:3001/upload`;
const formData = new FormData();
formData.append('images', resizedImage);
const options = {
method: 'POST',
body: formData
};
let result = await fetch(url, options);
// TODO: Handle the result
console.log(result);
return result;
} catch (error) {
console.error(error);
throw(error);
}
}
const config = {
quality: 0.5,
maxWidth: 800,
maxHeight: 600,
debug: true
};
// Note: A single file comes from event.target.files on <input>
BrowserImageResizer.readAndCompressImage(file, config)
.then(resizedImage => {
// Upload file to some Web API
const url = `http://localhost:3001/upload`;
const formData = new FormData();
formData.append('images', resizedImage);
const options = {
method: 'POST',
body: formData
};
return fetch(url, options);
})
.then(result => {
// TODO: Handle the result
console.log(result);
});
const config = {
quality: 0.7,
width: 800,
height: 600
};
// Note: A single file comes from event.target.files on <input>
async function uploadImage(file) {
try {
let resizedImage = await BrowserImageResizer.readAndCompressImage(file, config);
const url = `http://localhost:3001/upload`;
const formData = new FormData();
formData.append('images', resizedImage);
const options = {
method: 'POST',
body: formData
};
let result = await fetch(url, options);
// TODO: Handle the result
console.log(result);
return result;
} catch (error) {
console.error(error);
throw(error);
}
}
file
: A File object, usually from an <input>
config
: See belowProperty Name | Purpose | Default Value |
---|---|---|
quality | The quality of the image | 0.5 |
maxWidth | The maximum width for the downscaled image | 800 |
maxHeight | The maximum height for the downscaled image | 600 |
autoRotate | Reads EXIF data on the image to determine orientation | true |
debug | console.log image update operations | false |
mimeType | specify image output type other than jpeg | 'image/jpeg' |
A Promise that yields an Image Blob
The fastest way to contribute back is to fork the repl.it of this repo (https://replit.com/@grales/browser-image-resizer). Please open any Issues if you have trouble spinning it up.
Upon forking of the repl.it, open a new Shell and follow these instructions:
npm link
at the top ~/browser-image-resizer
foldercd tests/bir-vue
npm i && npm link browser-image-resizer && npm run serve
src/
and it will reflect on your Vue 3 CLI SPA test appdev
script of the library, which is a webpack-dev-server that auto-generates the dist/
library which is the entry point of this libraryFAQs
A browser-based utility to downscale and resize images using <canvas>
The npm package browser-image-resizer receives a total of 8,736 weekly downloads. As such, browser-image-resizer popularity was classified as popular.
We found that browser-image-resizer demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
We redesigned Socket's first logged-in page to display rich and insightful visualizations about your repositories protected against supply chain threats.
Product
Automatically fix and test dependency updates with socket fix—a new CLI tool that turns CVE alerts into safe, automated upgrades.
Security News
CISA denies CVE funding issues amid backlash over a new CVE foundation formed by board members, raising concerns about transparency and program governance.