UNPKG

react-image-utilities

Version:

A React component library for image manipulation: cropping, compressing, resizing, format conversion, and effects

49 lines (48 loc) 1.4 kB
import React from 'react'; export interface BaseImageProps { image: File | Blob | string; onProcessingComplete?: (processedImage: Blob) => void; onError?: (error: Error) => void; className?: string; style?: React.CSSProperties; } export interface ImageCropProps extends BaseImageProps { width: number; height: number; aspectRatio?: number; cropX?: number; cropY?: number; allowResize?: boolean; showGrid?: boolean; gridColor?: string; } export interface ImageCompressProps extends BaseImageProps { quality?: number; maxSizeMB?: number; maxWidthOrHeight?: number; onCompressProgress?: (progress: number) => void; showProgress?: boolean; } export interface ImageResizeProps extends BaseImageProps { width: number; height: number; maintainAspectRatio?: boolean; resizeMode?: 'contain' | 'cover' | 'stretch'; } export interface ImageFormatProps extends BaseImageProps { format: 'jpeg' | 'png' | 'webp' | 'gif'; quality?: number; } export interface ImageEffectsProps extends BaseImageProps { effect: 'grayscale' | 'invert' | 'sepia' | 'blur' | 'brightness' | 'contrast' | 'saturation'; intensity?: number; blurRadius?: number; } export interface ProcessedImageResult { blob: Blob; url: string; originalSize: number; processedSize: number; width: number; height: number; }