scissors

✂ Android image cropping library

Subscribe to updates I use scissors


Statistics on scissors

Number of watchers on Github 1743
Number of open issues 14
Average time to close an issue 17 days
Main language Java
Average time to merge a PR 3 days
Open pull requests 14+
Closed pull requests 3+
Last commit 6 months ago
Repo Created over 2 years ago
Repo Last Updated 3 months ago
Size 4.41 MB
Homepage https://eng.lyft....
Organization / Authorlyft
Contributors3
Page Updated
Do you use scissors? Leave a review!
View open issues (14)
View scissors activity
View on github
Latest Open Source Launches
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating scissors for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Scissors

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

Usage

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

Extensions

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:

cropView.extensions()
    .load(galleryUri);

Cropping into a File

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

cropView.extensions()
    .crop()
    .quality(87)
    .format(PNG)
    .into(croppedFile))

Questions

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

Download

compile 'com.lyft:scissors:1.1.1'

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

License

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

   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.

Contributing

Please see CONTRIBUTING.md.

Contributors

scissors open issues Ask a question     (View All Issues)
  • almost 2 years White place if crop is max to right
  • almost 2 years Getting position and Current scale of the image
  • almost 2 years I find sth Question by use this With Glide,and setViewportRatio(1f) aslo has some Question
  • about 2 years does scissors require READ_EXTERNAL_STORAGE permission?
  • about 2 years How can I make cropView's corners round ?
  • about 2 years W/EGL_emulation: eglSurfaceAttrib not implemented, W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xe0162fc0, error=EGL_SUCCESS
  • about 2 years Show grid view around cropped view
  • over 2 years CONTRIBUTING.md has a broken link to the java code styles
  • over 2 years Support cropping based on original image size
  • over 2 years How can I get coordinates?
  • over 2 years Crop View only configurable via XML
  • over 2 years Add callback to image loading?
  • over 2 years Guidelines over the image
  • over 2 years Image does not load + selecting an image loop
  • over 2 years Support for rotation
  • over 2 years Broken snapping when bitmap is smaller than viewport
  • over 2 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
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