1.0.5 • Published 6 months ago

imgreducer v1.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

useImgReducer Hook

useImgReducer is a custom React hook designed to reduce the size of an image by scaling it down while maintaining the aspect ratio. It accepts a URL for the image, the image format to output (e.g., png, jpg, avif), and a scale factor for resizing. The hook fetches the image, resizes it using a canvas, and then returns the image in the specified format as a blob URL.

Usage

  • url (string): The URL of the image to be fetched and resized.
  • imageType (string, optional): The output image format. Defaults to avif. Supported formats: png, jpg, jpeg, webp, avif, bmp.
  • scale (number, optional): A scaling factor for resizing the image. Defaults to 1. Should be greater than 0.

Example

import React from 'react';
import useImgReducer from "imgreducer";

function ImageComponent() {
  const options = {
    headers:{
      "origin": "https://www.example.com"   
    }
  }
  const { src, loading, error } = useImgReducer('https://example.com/sample.jpg', 'webp', 0.5,options);
  if(error){
    return <p>failed to load image</p>
  }
  return (
    <div>
      {loading ? <p>Loading...</p> :<img src={src} alt="Reduced Image" /> : }
    </div>
  );
}

export default ImageComponent;

Features

  • Fetches an image from a given URL.
  • Resizes the image based on a scale factor.
  • Maintains the aspect ratio during scaling.
  • Converts the image into a specific format (png, jpg, jpeg, webp, avif, bmp).
  • Returns a blob URL of the resized image that can be used as the src for image tags.
1.0.5

6 months ago

1.0.4

9 months ago

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago