
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
react-native-android-image-cropper
Advanced tools
Powerful (Zoom, Rotation, Multi-Source), customizable (Shape, Limits, Style), optimized (Async, Sampling, Matrix) and simple image cropping library for React-Native Android Module.

npm i react-native-android-image-cropper@latest --save
react-native link
Add the following lines to android/settings.gradle:
include ':react-native-android-image-cropper'
project(':react-native-android-image-cropper').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-android-image-cropper/android')
Add the compile line to the dependencies in android/app/build.gradle:
dependencies {
compile project(':react-native-android-image-cropper')
}
Add the import and link the package in MainApplication.java:
import com.ozdevcode.theartofdev.edmodo.cropper.ImageCropperPackage; // <-- add this import
public class MainApplication extends Application implements ReactApplication {
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new ImageCropperPackage() // <-- add this line
);
}
}
import ImageCropper from "react-native-android-image-cropper";
// More info on all the options is below in the README
var options = {
guideLines:"on-touch",
cropShape:"rectangle",
title:'MY EXAMPLE',
cropMenuCropButtonTitle:'Done'
}
/**
* The first arg is the options object for customization (it can also be null or omitted for default options),
* The second arg is the callback which sends object: response
*/
ImageCropper.selectImage(options,(response)=>{
//error throwns with response.error
if(response&&response.uri){
this.setState({imageUri:response.uri})
}
});
| Props | Default | Options/Info |
|---|---|---|
| guideLines (String) | on | off: no guidelines will be displayed. on: guidelines will always be displayed. on-touch: guidelines will be displayed when the crop window is touched. |
| cropShape (String) | rectangle | rectangle,oval use FixAspectRatio for Square / Circle. |
| title (String) | Crop Image | Set window title |
| cropMenuCropButtonTitle (String) | Done | Set crop button's title |
| requestedSizeHeight (int) | 0 | The height to resize the cropped image to |
| requestedSizeWidth (int) | 0 | The width to resize the cropped image to |
| allowCounterRotation (boolean) | false | Allow counter-clockwise rotation during cropping. Note: if rotation is disabled this option has no effect. |
| allowFlipping (boolean) | false | Allow flipping during cropping |
| aspectRatio (array [int,int]) | [1,1] | X,Y value of the aspect ratio. * Also sets fixes aspect ratio to TRUE. |
| transferFileToExternalDir (boolean) | false | Move cropped image from cache directory to external directory. Otherwise the image will stored in app cache folder. |
| externalDirectoryName (String) | CropImage | Name of folder if transferFileToExternalDir is true |
| autoZoomEnabled (boolean) | true | Auto-zoom functionality is enabled |
| maxZoom (int) | 4 | The max zoom allowed during cropping |
| fixAspectRatio (boolean) | false | Whether the width to height aspect ratio should be maintained or free to change. |
| initialCropWindowPaddingRatio (double) | 0.1 | 0% - 100%. The initial crop window padding from image borders in percentage of the cropping image dimensions. Set to 0 for initial crop window to fully cover the cropping image. |
| borderCornerThickness (double) | 2 | dp - Thickness of the corner line (in pixels).Set to 0 to remove. |
| borderCornerOffset (double) | 5 | dp - The offset of corner line from crop window border (in pixels). Set to 0 to place on top of the border lines. |
| borderCornerLength (double) | 12 | dp - The length of the corner line away from the corner (in pixels) |
| guidelinesThickness (double) | 1 | dp - The thickness of the guidelines lines (in pixels) |
| snapRadius (double) | 3 | dp - An edge of the crop window will snap to the corresponding edge of a specified bounding box when the crop window edge is less than or equal to this distance (in pixels) away from the bounding box edge (in pixels). Set 0 to disable snapping |
| showCropOverlay (boolean) | true | Show crop overlay UI what contains the crop window UI surrounded by background over the cropping image |
| minCropWindowWidthHeight (array [int,int]) | [40,40] | dp - The min size the crop window is allowed to be (in pixels) minimum width/height 10 |
| flipHorizontally | true | Whether the image should be flipped horizontally |
| flipVertically | true | Whether the image should be flipped vertically |
Android library from ArthurHub/Android-Image-Cropper.
Originally library forked from edmodo/cropper.
Copyright 2018 Zainoz Zaini, 2017, Arthur Teplitzki, 2013, Edmodo, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
FAQs
React-Native Android Image Cropper =======
We found that react-native-android-image-cropper demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
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.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.