//Start croppy (source uri is the original image.)
val cropRequest = CropRequest.Auto(sourceUri = uri, requestCode = 101)
Croppy.start(this, cropRequest)
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == 101) {
imageview.setImageURI(data.data)
}
}
Create cropped image result in external storage
val externalCropRequest = CropRequest.Auto(sourceUri = uri, requestCode = RC_CROP_IMAGE)
Create cropped image result in cache storage
val cacheCropRequest = CropRequest.Auto(
sourceUri = uri,
requestCode = RC_CROP_IMAGE,
storageType = StorageType.CACHE
)
If you want to create destination file by manually
val destinationUri = ...
val manuelCropRequest = CropRequest.Manuel(
sourceUri = uri,
destinationUri = destinationUri,
requestCode = RC_CROP_IMAGE
)
If you want to exclude some specific aspect ratio from bottom aspect ratio list view.
val excludeAspectRatiosCropRequest = CropRequest.Manuel(
sourceUri = uri,
destinationUri = destinationUri,
requestCode = RC_CROP_IMAGE,
excludedAspectRatios = arrayListOf(AspectRatio.ASPECT_FREE)
)
If you want to give specific theme as accent color.
val themeCropRequest = CropRequest.Manuel(
sourceUri = uri,
destinationUri = destinationUri,
requestCode = RC_CROP_IMAGE,
croppyTheme = CroppyTheme(R.color.blue)
)
//Start croppy with your custom request.
Croppy.start(this, cropRequest)
It zoom-in to the touch points on double tap. Restore to default state when user double tap on max scale state.
Zoom in and out with yout two finger.
You can crop you image in free mode. In any size.
Enhanced aspect ratio mode will helps you while cropping. Aspect ratio will be fixed while you playing with cropper. So in your social media apps, it will helps you to crop in fixed size (instagram, facebook, twitter, 16:9, 1:2, 3:2 and more..)
While you scaling your image, size displayer displays the bitmap size reactively. It will give the user smoother experience.
What ever you do while cropping, we centerized the bitmap with animation. Smoother experience for user.
We user animation everywhere in this cropper. User zoom-out too much? We zoom-in back with animation. User scroll image out of borders? We scroll it back with animation.
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.lyrebirdstudio:Croppy:0.1'
}
Copyright 2019 Lyrebird Studio.
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.