• Stars
    star
    408
  • Rank 102,083 (Top 3 %)
  • Language
    Kotlin
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Extremely Smooth and Easy Cropping library for you

CropMe

Gradle

dependencies {
    implementation 'com.github.takusemba:cropme:x.x.x'
}

Usage

Build Status Download License API

This is an Android library for cropping images. Move images smoothly, and crop images precisely.

Use CropView in your xml file.

  <com.takusemba.cropme.CropLayout
    android:id="@+id/crop_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:cropme_background_alpha="80%"
    app:cropme_frame_height_percent="80%"
    app:cropme_frame_width_percent="80%"
    app:cropme_max_scale="2.0"
    app:cropme_overlay_shape="rectangle"
    app:cropme_with_border="true"
    >

Set your image

cropView.setUri(uri);
// or
cropView.setBitmap(bitmap)

Crop it!

cropLayout.addOnCropListener(object : OnCropListener {
  override fun onSuccess(bitmap: Bitmap) {
    // do somethhing with bitmap.
  }

  override fun onFailure(e: Exception) {
    // do error handling.
  }
})
    
cropView.isOffFrame() // optionally check if the image is off the frame.

cropView.crop() // crop image

Attributes

attribute description default
cropme_frame_width_percent width of croppling frame 80%
cropme_frame_height_percent height of croppling frame 80%
cropme_max_scale maximum scale while cropping 2.0
cropme_with_border if borders are shown while cropping true
cropme_background_alpha background alpha out side of cropping area 80%
cropme_overlay_shape shape of croppling frame rectangle / circle / custom
cropme_custom_shape_layout custom layout for custom shape @layout/custom_layout

Custom Overlay

If you want to show a custom overlay, you can customize the Overlay by extending CropOverlay.

You can see more detail in app module.

class CustomCropOverlay @JvmOverloads constructor(
    context: Context,
    attrs: AttributeSet? = null,
    defStyleAttr: Int = 0,
    cropOverlayAttrs: AttributeSet? = attrs
) : CropOverlay(context, attrs, defStyleAttr, cropOverlayAttrs) {

  override fun drawBackground(canvas: Canvas, paint: Paint) {
    // draw background
  }

  override fun drawCrop(canvas: Canvas, paint: Paint) {
    // draw croppling frame
  }

  override fun drawBorder(canvas: Canvas, paint: Paint) {
    // draw borders
  }
}

Sample

Clone this repo and check out the app module.

Author

Licence

Copyright 2017 Taku Semba.

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.

More Repositories

1

Spotlight

Android Library that lights items for tutorials or walk-throughs etc...
Kotlin
3,555
star
2

MultiSnapRecyclerView

Android library for multiple snapping of RecyclerView
Kotlin
2,503
star
3

RtmpPublisher

Rtmp client on Android. Live Video Streaming.
Java
611
star
4

JetHub

Sample App with Jetpack components(LiveData, Navigation, ViewModel) + MVVM + coroutine + single activity
Kotlin
431
star
5

docker-nginx-rtmp

docker file for RTMP on nginx
XSLT
48
star
6

AudioThief

Let you gain and release AudioFocus.
Kotlin
41
star
7

RtmpPlayer

RTMP player on Android
Kotlin
33
star
8

Tindest

This is a Tinder-like app
Swift
29
star
9

HlsPlayer

HLS Player on Android
Kotlin
21
star
10

go-hls-hosting

generates LIVE, CHASE playlists from your given VOD playlist, then publish their playlists individually.
Go
19
star
11

SampleDrmExoPlayer

Kotlin
18
star
12

QuicPlayer

media player using QUIC protocol
Kotlin
18
star
13

exoplayer-practice-guide-sample

「ExoPlayer実践ガイド」 のサンプルアプリ
Kotlin
18
star
14

AutoBuilder

Auto builder generation with Annotation Processing
Java
13
star
15

DribbbleKotlinApp

this is a dribbble app written in kotlin
Kotlin
11
star
16

RetrofitDownloader

Download files using Retrofit
Java
8
star
17

grpc-android

client side for grpc
Java
8
star
18

DribbbleMvp

Android architecture MVP
Java
7
star
19

SpringSample

Kotlin
4
star
20

EspressoDemo

Espresso demo
Java
4
star
21

camembert

API server with protocol buffers
Go
4
star
22

ksudoku

sudoku solver in kotlin
Kotlin
3
star
23

ProcessLifecycleOwnerSample

sample app using ProcessLifecycleOwner
Kotlin
2
star
24

DribbbleSwiftApp

this is a iOS App written in Swift
Swift
2
star
25

AudioFocusServiceApp

AudioFocusServiceApp allow you to control audio focus via Service
Kotlin
2
star
26

Ekuity

A command-line tool written in Kotlin for calculating equity
Kotlin
2
star
27

grpc-go

grpc written in golang
Go
1
star
28

gouda

json request vs proto request
Java
1
star
29

grpc-proto

proto file for grpc
Java
1
star
30

DribbbleAndroidApp

this is a Dribbble App written in Android java
Java
1
star
31

KotlinAndroidProjectSample

AndroidProject Sample in Kotlin
Kotlin
1
star
32

portfolio

My Portfolio powered by Hugo
HTML
1
star
33

TakuSemba

My Profile Repository
1
star