react-native-image-tools
Install instructions here.
An example app is here.
API
RNImageTools.openEditor(options)
Opens the Adobe Image Editor. Returns a promise which when resolved contains a uri to the output image, or null if editing was cancelled.
options parameter:
name | description | default value | type |
---|
imageUri | the input image | n/a | string (see below) |
outputFormat | the image type, must correspond to the input image type (generating PNG from JPEG or vider-vesa is not supported) | JPEG | string (either 'JPEG' or 'PNG') |
quality | representing the JPEG compression % (Ignored for PNG) | 80 | integer (a value between 0 and 100) |
preserveMetadata (iOS only) | copies image metadata (exif tags) from the input image to the output image | true | boolean |
saveTo | determines where the output image will be saved | photos | string ('photos' or 'file') |
Supported imageUri
formats include:
- path e.g.
/foo/bar/image.jpeg
- file url e.g.
file:///foo/bar/image.jpeg
- url e.g.
http://foo.com/bar/image.jpeg
- asset-uri (iOS only) e.g.
assets-library://asset/asset.JPG?id=foo&EXT=JPG
- content-uri (android only) e.g.
content://media/external/images/foo/bar/JPEG
import RNImageTools from "react-native-image-tools";
...
try {
const uri = await RNImageTools.openEditor({
imageUri,
outputFormat,
quality,
preserveMetadata,
saveTo
});
} catch (e) {
console.warn("error", e);
}
RNImageTools.selectImage(options)
Opens the native image picker dialog. Returns a promise which when resolved returns an object containing the uri to the chosen image as well as some other useful information, or null if cancelled.
options parameter:
name | description | default value | type |
---|
title | optional title (android only) | n/a | string |
import RNImageTools from "react-native-image-tools";
...
try {
const uri = await RNImageTools.selectImage({title});
} catch (e) {
console.warn("error", e);
}
RNImageTools.imageMetadata(imageUri)
Returns a promise which when resolved returns object containing the image metadata.
import RNImageTools from "react-native-image-tools";
...
try {
const metadata = await RNImageTools.imageMetadata(imageUri);
} catch (e) {
console.warn("error", e);
}
todo