Cropify
Introduction: Image Cropper for Android Jetpack Compose.
Tags:
Lightweight image cropper for Android Jetpack Compose.
https://user-images.githubusercontent.com/9051623/231838736-8bff221e-8515-4dd4-8314-64c3166e700d.mov
The AI-generated Wiki is here.
Installation
- Add the JitPack repository to
settings.gradle.kts
.
dependencyResolutionManagement {
...
repositories {
...
maven("https://jitpack.io")
}
}
- Add the dependency.
dependencies {
implementation("com.github.moyuruaizawa:cropify:${cropifyVersion}")
}
Usage
Bitmap
val state = rememberCropifyState()
Cropify(
bitmap = imageResource(R.drawable.bitmap),
state = state,
onImageCropped = {},
option = CropifyOption(
frameSize = FullSize
),
)
Uri
val state = rememberCropifyState()
Cropify(
uri = imageUri,
state = state,
onImageCropped = {},
onFailedToLoadImage = {},
option = CropifyOption(
frameSize = FullSize
),
)
Invoke CropifyState#crop
, the cropped image will be passed to onImageCropped
.
If loading an image from Uri fails, onFailedToLoadImage
will be called.
Features
- Cropping.
- set Bitmap or load android.net.Uri.
- Bitmap memory optimization.
- API Level 21+.
Customizations
- Cropping frame color.
- Cropping frame alpha.
- Cropping frame stroke width.
- Cropping frame aspect ratio.
- Grid line color.
- Grid line alpha.
- Grid line stroke width.
- Mask (outside of cropping frame) color.
- Mask alpha.
- Background color.
Acknowledgement
I would like to thank ArthurHub/Android-Image-Cropper.
Cropify aims to a Jetpack Compose implementation of ArthurHub/Android-Image-Cropper.