All Projects → lyrebirdstudio → Croppy

lyrebirdstudio / Croppy

Image Cropping Library for Android

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Croppy

Tocropviewcontroller
A view controller for iOS that allows users to crop portions of UIImage objects
Stars: ✭ 4,210 (+364.68%)
Mutual labels:  crop, crop-image, cropper, view
react-simple-crop
✂️ A React component library for cropping and previewing images
Stars: ✭ 19 (-97.9%)
Mutual labels:  crop, cropper, crop-image
pikaso
Seamless and headless HTML5 Canvas library
Stars: ✭ 23 (-97.46%)
Mutual labels:  crop, cropper, crop-image
react-drop-n-crop
An opinionated implementation of react-dropzone and react-cropper
Stars: ✭ 17 (-98.12%)
Mutual labels:  crop, cropper, crop-image
React Cropper
Cropperjs as React component
Stars: ✭ 1,600 (+76.6%)
Mutual labels:  crop, crop-image, cropper
Krop
Small widget for image cropping in Instagram-like style
Stars: ✭ 107 (-88.19%)
Mutual labels:  crop, crop-image, cropper
Cropiwa
📐 Configurable Custom Crop widget for Android
Stars: ✭ 2,185 (+141.17%)
Mutual labels:  crop, crop-image, cropper
cropimg
Another cropping jQuery plugin
Stars: ✭ 30 (-96.69%)
Mutual labels:  cropper, crop-image
vue-crop
[举个例子]https://codesandbox.io/s/910ro8ym9r [演示链接(戳我直达)]http://www.wwwwxy.top/html/blg/
Stars: ✭ 38 (-95.81%)
Mutual labels:  crop, crop-image
ngx-cropper
An Angular image plugin, includes upload, cropper, save to server.
Stars: ✭ 14 (-98.45%)
Mutual labels:  crop, cropper
VideoTimelineView
Video timeline UI for iOS Apps
Stars: ✭ 103 (-88.63%)
Mutual labels:  view, crop
Cropper
Android Library for cropping an image at ease.
Stars: ✭ 21 (-97.68%)
Mutual labels:  crop, cropper
react-native-avatar-crop
Highly customisable <Crop /> component for React Native < 💅 >
Stars: ✭ 47 (-94.81%)
Mutual labels:  crop, cropper
SSImagePicker
Easy to use and configurable library to Pick an image from the Gallery or Capture an image using a Camera... 📸
Stars: ✭ 227 (-74.94%)
Mutual labels:  crop, crop-image
xcrop
Mobile image cropping component - Vue React 移动端裁剪组件
Stars: ✭ 27 (-97.02%)
Mutual labels:  cropper, crop-image
Vue Croppie
Vue wrapper for croppie
Stars: ✭ 228 (-74.83%)
Mutual labels:  crop, crop-image
Flyimg
Dockerized PHP7 application runs as a Microservice to resize and crop images on the fly. Get optimised images with MozJPEG, WebP or PNG using ImageMagick. Includes face detection, cropping, face blurring, image rotation and many other options. Abstract storage based on FlySystem in order to store images on any provider (local, AWS S3...).
Stars: ✭ 762 (-15.89%)
Mutual labels:  crop, crop-image
Croppr.js
A vanilla JavaScript image cropper that's lightweight, awesome, and has absolutely zero dependencies.
Stars: ✭ 294 (-67.55%)
Mutual labels:  crop, cropper
Cropme
Extremely Smooth and Easy Cropping library for you
Stars: ✭ 306 (-66.23%)
Mutual labels:  crop-image, cropper
Rskimagecropper
An image cropper / photo cropper for iOS like in the Contacts app with support for landscape orientation.
Stars: ✭ 2,371 (+161.7%)
Mutual labels:  crop, cropper

Croppy

Basic Usage

//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)
     }
}

Custom Usage

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 manually

val destinationUri = ...
val manuelCropRequest = CropRequest.Manual(
    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.Manual(
    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.Manual(
    sourceUri = uri,
    destinationUri = destinationUri,
    requestCode = RC_CROP_IMAGE,
    croppyTheme = CroppyTheme(R.color.blue)
)
//Start croppy with your custom request.
Croppy.start(this, cropRequest)

Demo

Features

Double tap focus 👆👆

It zooms-in to the touch points on double tap. Restores default state when user double taps on max scale state.

Pinch Zoom 👌

Zoom in and out with two finger.

Free Mode 🤟

You can crop your image in free mode. In any size.

Aspect Ratio Mode 📱

Enhanced aspect ratio mode will help you while cropping. Aspect ratio will be fixed while you play with cropper. So for your social media apps, it will help you to crop in fixed size (instagram, facebook, twitter, 16:9, 1:2, 3:2 and more..)

Size Displayer 🔟

While you scale your image, size displayer indicates the bitmap size reactively. It will provide a smoother experience to the user.

Auto Centered 😍

What ever you do while cropping, we center the bitmap with animation. Smoother experience for user.

Animations 🌟

We use animation everywhere in this cropper. User zoomed-out too much? We zoom back in with animation. User scrolled image out of borders? We scroll it back with animation.

Setup

allprojects {
     repositories {
	...
	maven { url 'https://jitpack.io' }
     }
}
dependencies {
      implementation 'com.github.lyrebirdstudio:Croppy:0.2'
}

License

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].