Skip to content

Android lossles jpg cropping app without reencoding quality-losses

License

Notifications You must be signed in to change notification settings

k3b/LosslessJpgCrop

Repository files navigation

llcrop logo LLCrop

Loss Less Cropping and Image Rotation: Remove unwanted parts of jpg photo without quality loss.

Featuregraphic of llcrop

While there are many apps capable of cropping images (often with additional features), they generally cause quality loss because they re-encode to JPEG again when saving the output file.

LLCrop (the "LL" stands for lossless) can crop JPEG images without quality loss because it crops the raw JPEG image without re-encoding the file. It also preserves embedded metadata (EXIF/IPTC and XMP).

Simply load a JPEG image from the in-app image browser, adjust the rectangular selection, rotate it if necessary and save it as a new image file.

Note: This app is focused on lossless JPEG image manipulation, so issues that propose additional features (e.g. support for other file formats, add resize-support or adding text to images) are out of scope.


Supported Workflows and Features:

  • Workflow #1 : From Android app launcher:
    • Pick an image and crop it to a new public file save icon
  • Workflow #1 : From any file manager or gallery app that supports intent-action-EDIT for MIME image/jpeg:
    • Crop current selected image to a new public file save icon
  • Workflow #2 : From any app that supports intent-action-SEND or intent-action-SEND-TO for MIME image/jpeg
    • Send/SendTo/Share a cropped version of the currently selected image share icon
  • Workflow #3/#8 : From any app that supports intent-action-GET-CONTENT or intent-action-PICK for MIME image/jpeg
    • Open/Pick the cropping of an uncropped image
  • Feature #17 (Since Version 1.2) : added support for image rotationrotate icon
  • Feature #35 (Since Version 1.3) : Display current crop box coordinates and size
    • Show XY offset of top left corner of crop box displayed along with it's dimensions.
    • You can get more predictable results by sticking to 8 or 16 multiples for offset and box size allows to target aspect ratio.
  • Feature #15 (Since Version 1.3) : Define crop box size or aspect ratio aspect ratio icon
    • if you set width and height to a value below 100 then you define the aspect ratio of the cropping result. Example 9x13
    • if you set width and height to a value above 100 then you define the absolute size in pixel of the cropping result. Example 400x600

Requirements

  • Android 4.4 KitKat (API 19) or newer
  • CPU arm64-v8a, arbeabi-v7a, x86 or x86_64 because of the C++ cropping code
  • Permissions
    • READ_EXTERNAL_STORAGE (to open a local image)
    • WRITE_EXTERNAL_STORAGE (to save the cropped image)

available on F-Droid app store
available on F-Droid app store