Image Crop View

by rroohit

Jetpack-Compose Image Crop View library.

View on GitHub

Documentation

Jetpack Compose ImageCropView

ImageCropView is a Jetpack Compose library that provides a simple and customizable image cropping view for Android applications.

It supports various cropping styles such as free-form, square, and circular cropping, making it easy to integrate image cropping functionality into your Compose UI.

https://github.com/rroohit/ImageCropView/assets/36406595/92906b61-277a-4bd6-a814-e3573ae36ee3

Setup

Maven Central

Add this dependency to your module-level build.gradle in dependencies section :

dependencies {
    implementation 'io.github.rroohit:ImageCropView:3.1.1'
}

Usage

Create an instance of ImageCrop(bitmap) by passing an bitmap.

Using .ImageCropView(...) you can customize your crop view.
.ImageCropView(...) is jetpack compose @Composable function.

To get cropped bitmap invoke .onCrop().


private lateinit var imageCrop: ImageCrop
imageCrop = ImageCrop(bitmap)

// Configure ImageCropView. 
imageCrop.ImageCropView(
    modifier = Modifier,            
    guideLineColor = Color.LightGray,
    guideLineWidth = 2.dp,
    edgeCircleSize = 5.dp,
    showGuideLines = true,
    cropType = CropType.SQUARE,
    edgeType = EdgeType.CIRCULAR
)

val croppedBitmap = imageCrop.onCrop() // To get the cropped image in bitmap format.

Crop Types

Crop Type Description
FREE_STYLE Free-form cropping
SQUARE Square cropping
PROFILE_CIRCLE Circular View for profile pictures

License

Copyright 2022 rohit

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License 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.
Dispatch Newsletter
Be the first to discover new Compose libraries
Curated Insights
Digest in 5 minutes or less
Android Analysis
Entertaining takes on happenings
Insider Tips
From top Android developers
Hidden Gems
You won't find elsewhere
"
"Dispatch is a must read for Android devs today and my go-to for keeping up with all things Jetpack Compose. I eagerly await each issue, not just for the Compose gems honestly but for Vinay's unique insights, stories, and finds. The Dev Delight and Featured Dev sections are particular favorites of mine! He really should do a podcast."
— Kaushik Gopal
Principal Engineer @ Instacart | Host of the Fragmented Podcast | GDE for Android
Join thousands of Android devs who look forward to Dispatch every week