Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

react-native-image-file-transformer

KishorJena81MIT1.0.4-beta.0TypeScript support: included

Scale, Convert & Compress animated & static image files. Supports It works with image files rather view and let's you use the transofmred image files.

react-native, android, react-native, image, resize, convert, compress, scale, animated, static, gif, animated webp, jpg, png, webp, jpeg, glide

readme

React Bative Image File Transformer

convert, compress, scale any animated or static image

image-removebg-preview1-ezgif com-resize (3)

npm version

react-native-image-file-transformer is a React Native module that provides functionality for transforming and manipulating image files.

Platform support:

  • <input checked="" disabled="" type="checkbox"> Android
  • <input disabled="" type="checkbox"> ios

Installation

npm install react-native-image-file-transformer

Usage

Import:

import { Transform } from 'react-native-image-file-transformer';

Operations:

await Transform.static([uri2, uri2,... ], options);
await Transform.animated([uri1, uri2,... ], options);

Constants:

ScaleMode:
Transform.ScaleMode.CROP
Transform.ScaleMode.STRETCH
Transform.ScaleMode.FIT_CENTER

FormatType:
Transform.FormatType.JPEG
Transform.FormatType.PNG
Transform.FormatType.WEBP
Transform.FormatType.GIF
Transform.FormatType.AWEBP
Transform.FormatType.UNKNOWN

Misc:

await Transform.getImageType([uri1, uri2, ...])

// Output
//[{"extention": "png", "isAnimated": false, "type": "PNG_A", "uri": "/storage/emulated/..."}] 
await Transform.clearCache()

Example:

Transform.animated(uris, { 
  width:100, // default will be taken from image
  height:100, // default will be taken from image
  quality:70,  // default 100
  scaleMode:Transform.ScaleMode.FIT_CENTER, // default FIT_CENTER
  targetFormat:Transform.FormatType.AWEBP, // default JPGE/GIF
//   minDelay:80, (ms)
//   maxDelay:1000, (ms)
//   parentDir:"storage/emulated/0/Download/output"
})
.then(r=>{log(r)})
.catch(e=>{log('error ',e)})

Contribution

If you find any issues or have suggestions for improvements, please open an issue or submit a pull request on the project's GitHub repository. CONTRIBUTING.md

Contact on:

X (twitter) : x.com/heyKSR

License

LICENSE