1.0.0 • Published 3 years ago

imagetune-react v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

imagetune-react

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

NPM JavaScript 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.

import React, { useState } from 'react';
import ImageTune from 'imagetune-react';

const Form = () => {
  const [email, setEmail] = useState('');
  const [image, setImage] = useState(null);

  const handleEmail = (evt) => { setEmail(evt.target.value) }
  const handleImage = (evt) => { setImage(evt.target.files[0]) }
  const handleSubmit = (evt) => {
    // handle file uploads like you usually would
  }

  return (
    <form className="form" onSubmit={handleSubmit}>
      <input type="text" name="email" value={email} />
      <ImageTune 
        onChange={handleFile} 
        width=512 
        height=512
        quality=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