Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


βœ‚ Android image cropping library

Subscribe to updates I use scissors

Statistics on scissors

Number of watchers on Github 1834
Number of open issues 27
Average time to close an issue 17 days
Main language Java
Average time to merge a PR 3 days
Open pull requests 15+
Closed pull requests 8+
Last commit about 3 years ago
Repo Created about 5 years ago
Repo Last Updated 5 months ago
Size 4.41 MB
Homepage https://eng.lyft....
Organization / Authorlyft
Page Updated
Do you use scissors? Leave a review!
View open issues (27)
View scissors activity
View on github
Book a Mock Interview With Me (Silicon Valley Engineering Leader, 100s of interviews conducted)
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating scissors for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


Fixed viewport image cropping library for Android with built-in support for Picasso, Glide or Universal Image Loader.


See scissors-sample.

  • Include it on your layout: xml <com.lyft.android.scissors.CropView android:id="@+id/crop_view" android:layout_width="match_parent" android:layout_height="match_parent" app:cropviewViewportRatio="1" />
  • Set a Bitmap to be cropped. In example by calling cropView.setImageBitmap(someBitmap);
  • Call Bitmap croppedBitmap = cropView.crop(); to obtain a cropped Bitmap to match viewport dimensions


Scissors comes with handy extensions which help with common tasks like:

Loading a Bitmap

To load a Bitmap automatically with Picasso, Glide or Universal Image Loader into CropView use as follows:


Cropping into a File

To save a cropped Bitmap into a File use as follows:



For questions please use github issues. Mark question issue with question label.


compile 'com.lyft:scissors:1.1.1'

Snapshots of development version are available in Sonatype's snapshots repository.


Copyright (C) 2015 Lyft, Inc.

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


Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.


Please see CONTRIBUTING.md.


scissors open issues Ask a question     (View All Issues)
  • over 4 years White place if crop is max to right
  • over 4 years Getting position and Current scale of the image
  • over 4 years I find sth Question by use this With Glide,and setViewportRatio(1f) aslo has some Question
  • over 4 years does scissors require READ_EXTERNAL_STORAGE permission?
  • over 4 years How can I make cropView's corners round ?
  • over 4 years W/EGL_emulation: eglSurfaceAttrib not implemented, W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xe0162fc0, error=EGL_SUCCESS
  • over 4 years Show grid view around cropped view
  • almost 5 years CONTRIBUTING.md has a broken link to the java code styles
  • almost 5 years Support cropping based on original image size
  • almost 5 years How can I get coordinates?
  • almost 5 years Crop View only configurable via XML
  • almost 5 years Add callback to image loading?
  • about 5 years Guidelines over the image
  • about 5 years Image does not load + selecting an image loop
  • about 5 years Support for rotation
  • about 5 years Broken snapping when bitmap is smaller than viewport
  • about 5 years Add support for double tap drag to zoom
scissors open pull requests (View All Pulls)
  • add custom crop area and border line
  • Fix #2: scaling and snapping issue when bitmap directly set.
  • fix calculating wrong limit
  • Added a viewport indicator
  • Issue #33 Support cropping based on original image size
  • Move the image to center by TouchManager#resetFor()
  • Support oval shape for overlay.
  • Allow explicity specifying which BitmapLoader to use
  • Fix visibility issue with Kotlin
  • Use GestureDetectors to detect scale and translate
  • add getter for transform matrix
  • Oval shape for CropView overlay
  • Update RxJava to RxJava2 and the sample Observable.from to Observable.fromfuture
  • Don't hide IOException when croping
  • Add support for Picasso 2.71828 and up
scissors questions on Stackoverflow (View All Questions)
  • Build β€œrock, paper, scissors” in JavaScript
  • Rock Paper Scissors JavaScript issue
  • Another Rock, Paper, Scissors
  • My python rock paper scissors app ends without printing anything?
  • Python [Tkinter] Rock Paper Scissors GUI
  • Calculate angle of scissors image
  • Rock Paper Scissors Python Program
  • How can i fix my java code for rock paper scissors?
  • Python Rock/Paper/Scissors with name input
  • python rock paper scissors beginner
  • Rock, Paper, Scissors game, Codecademy Javascript
  • The rock, paper scissors Javascript excercise on CodeAcademy
  • Keeping track of wins Rock paper scissors
  • Round counting for rock paper scissors game (potential jquery issue)
  • Python rock, paper, scissors game
  • My random computer selection is always scissors
  • Having trouble with Rock Paper Scissors Lizard Spock Final in javascript
  • Trying to randomise a game of rock, paper, scissors in R
  • Rock Paper scissors game-python
  • Rock paper, scissors game
  • Why don’t I get any result from this rock-paper-scissors game?
  • New to JS, trying to put together Rock Paper Scissors Game
  • Rock Paper Scissors
  • Creating a python rock paper scissors game, has a few bugs
  • Create a Rock-Paper-Scissors game using a class for each
  • Rock, Paper, Scissors, Lizard, Spock
  • Rock paper scissors AI issue
  • Why does my Rock,Paper,Scissors game return Invalid input?
  • Rock Paper Scissors Game - Efficiency?
  • Writing a 2 player rock-paper-scissors game
scissors list of languages used
Other projects in Java
Powered by Autocode - Instant Webhooks, Scripts and APIs
Autocode logo wordmark