Skip to content

Repository files navigation

imagetune-react

A React Component implementation of ImageTune, an automatic browser-based image resizer and compressor.

NPMJavaScript Style Guide

Live Demo

Check out the demo here.

Usage

Install ImageTune React

npm i imagetune-react

Then import and use it like a regular React component.

importReact,{useState}from'react';importImageTunefrom'imagetune-react';constForm=()=>{const[email,setEmail]=useState('');const[image,setImage]=useState(null);consthandleEmail=(evt)=>{setEmail(evt.target.value)}consthandleImage=(evt)=>{setImage(evt.target.files[0])}consthandleSubmit=(evt)=>{// handle file uploads like you usually would}return(<formclassName="form"onSubmit={handleSubmit}><inputtype="text"name="email"value={email}/><ImageTuneonChange={handleFile}width=512height=512quality=90/></form>
);
}

The ImageTune React component is just a native file picker component. When the user selects a file, ImageTune runs automatically and swaps out the selected file for a resized and compressed one generated by ImageTune.

To the end user, there is no difference between this component and the native file picker, but when the upload process begins bandwidth and upload times can be reduced by over 90%.

Component Props and Options

NameDescriptionDefault
widthDesired width of result image in pixels200
heightDesired height of result image in pixels200
qualityImage quality value, changes file size (1-100)100
typeImage format type (png, jpg, gif)jpg
modeScale mode (crop or scale)scale

Note

Because we use the native File constructor, this component does not support Internet Explorer. Check Can I Use for more information.

License

MIT © connerfritz

About

ImageTune React component for automatically resizing and compressing images uploaded via a native file selector.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages