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 logoLLCrop

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 againwhen saving the output file.

LLCrop (the "LL" stands for lossless) cancrop 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 Androidapp launcher:
    • Pick an image and crop it to a new public filesave icon
  • Workflow#1:From anyfile managerorgallery appthat supportsintent-action-EDITfor MIMEimage/jpeg:
    • Crop current selected image to a new public filesave icon
  • Workflow#2:From any app that supportsintent-action-SENDorintent-action-SEND-TOfor MIMEimage/jpeg
    • Send/SendTo/Share a cropped version of the currently selected imageshare icon
  • Workflow#3/#8:From any app that supportsintent-action-GET-CONTENTor intent-action-PICK for MIMEimage/jpeg
    • Open/Pick the cropping of an uncropped image
  • Feature#17(Since Version 1.2): added support for image rotationrotate icon
  • Feature#35(SinceVersion 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(SinceVersion 1.3): Define crop box size or aspect ratioaspect 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