Socket
Socket
Sign inDemoInstall

seer-react-native-image-crop-picker

Package Overview
Dependencies
0
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    seer-react-native-image-crop-picker

Select single or multiple images, with croping option


Version published
Weekly downloads
1
Maintainers
1
Created
Weekly downloads
 

Readme

Source

update to fixed ios Fix RSKImageCropper build failed

Android fork from https://github.com/liukefu2050/react-native-customized-image-picker

react-native-image-crop-picker

iOS/Android image picker with support for camera, configurable compression, multiple images and cropping

Result

Usage

Import library

import ImagePicker from 'react-native-image-crop-picker';

Call single image picker with cropping

ImagePicker.openPicker({
  width: 300,
  height: 400,
  cropping: true
}).then(image => {
  console.log(image);
});

Call multiple image picker

ImagePicker.openPicker({
  multiple: true
}).then(images => {
  console.log(images);
});
Select from camera
ImagePicker.openCamera({
  width: 300,
  height: 400,
  cropping: true
}).then(image => {
  console.log(image);
});
Crop picture
ImagePicker.openCropper({
  path: 'my-file-path.jpg',
  width: 300,
  height: 400
}).then(image => {
  console.log(image);
});
Optional cleanup

Module is creating tmp images which are going to be cleaned up automatically somewhere in the future. If you want to force cleanup, you can use clean to clean all tmp files, or cleanSingle(path) to clean single tmp file.

ImagePicker.clean().then(() => {
  console.log('removed all tmp images from tmp directory');
}).catch(e => {
  alert(e);
});
Request Object
PropertyTypeDescription
croppingbool (default false)Enable or disable cropping
widthnumberWidth of result image when used with cropping option
heightnumberHeight of result image when used with cropping option
multiplebool (default false)Enable or disable multiple image selection
includeBase64bool (default false)Enable or disable returning base64 data with image
cropperTintColor (android only)string (default "#424242")When cropping image, determines the color of Toolbar and other UX elements. Uses UCrop's setToolbarColor, setActiveWidgetColor, and setStatusBarColor with color specified.
cropperCircleOverlaybool (default false)Enable or disable circular cropping mask.
maxFiles (ios only)number (default 5)Max number of files to select when using multiple option
smartAlbums (ios only)array (default ['UserLibrary', 'PhotoStream', 'Panoramas', 'Videos', 'Bursts'])List of smart albums to choose from
useFrontCamera (ios only)bool (default false)Whether to default to the front/'selfie' camera when opened
compressVideoPreset (ios only)string (default MediumQuality)Choose which preset will be used for video compression
compressImageMaxWidthnumber (default none)Compress image with maximum width
compressImageMaxHeightnumber (default none)Compress image with maximum height
compressImageQualitynumber (default 1)Compress image with quality (from 0 to 1, where 1 is best quality)
loadingLabelText (ios only)string (default "Processing assets...")Text displayed while photo is loading in picker
Response Object
PropertyTypeDescription
pathstringSelected image location
widthnumberSelected image width
heightnumberSelected image height
mimestringSelected image MIME type (image/jpeg, image/png)
sizenumberSelected image size in bytes
database64Optional base64 selected file representation

Install

npm i react-native-image-crop-picker --save
react-native link react-native-image-crop-picker
Post-install steps
iOS

In Xcode open Info.plist and add string key NSPhotoLibraryUsageDescription with value that describes why do you need access to user photos. More info here https://forums.developer.apple.com/thread/62229. Depending on what features you use, you also may need NSCameraUsageDescription and NSMicrophoneUsageDescription keys.

cocoapods users
  • Add platform :ios, '8.0' to Podfile (!important)
  • Add pod 'RSKImageCropper' and pod 'QBImagePickerController' to Podfile
non-cocoapods users
  • Drag and drop the ios/ImageCropPickerSDK folder to your xcode project. (Make sure Copy items if needed IS ticked)
  • Click on project General tab
    • Under Deployment Info set Deployment Target to 8.0
    • Under Embedded Binaries click + and add RSKImageCropper.framework and QBImagePicker.framework
Android
  • [Optional] If you want to use camera picker in your project, add following to AndroidManifest.xml
    • <uses-permission android:name="android.permission.CAMERA"/>
Production build
iOS
cocoapods users
  • You are already done
non-cocoapods users

If you are using pre-built frameworks from ios/ImageCropPickerSDK, then before deploying app to production you should strip off simulator ARCHs from these, or you can add frameworks from Libraries/imageCropPicker/Libraries/_framework_name_.xcodeproj/Products/_framework_name_.framework to Embedded Binaries instead of pre-built ones. Related issue: https://github.com/ivpusic/react-native-image-crop-picker/issues/61.

Details for second approach:

  1. Remove the pre-built frameworks from Embedded Binaries
  2. Build for Device
  3. Add the newly built binaries for both frameworks to Embedded Binaries (located at Libraries/imageCropPicker/Libraries/_framework_name_.xcodeproj/Products/_framework_name_.framework)

License

MIT

Keywords

FAQs

Last updated on 05 Apr 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc