# curzibn/luban

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/curzibn-luban).**

13,748 stars · 2,259 forks · C · Apache-2.0

## Links

- GitHub: https://github.com/Curzibn/Luban
- awesome-repositories: https://awesome-repositories.com/repository/curzibn-luban.md

## Topics

`android` `image-compression` `luban`

## Description

Luban is a memory-safe image loading and optimization library for Android. It functions as an image optimizer and compression tool designed to reduce image file sizes and resolutions while preventing application crashes through the use of pixel limits and downsampling.

The project replicates the specific compression and downsampling logic used by WeChat Moments to ensure images meet social media quality standards. It uses adaptive resolution scaling and dimension-aware strategies to balance visual quality with storage efficiency.

The library covers bulk image processing, format optimization, and memory management. It includes capabilities for batch compression and heuristic quality adjustments to ensure output files do not exceed the size of the original source.

## Tags

### Mobile Development

- [Android Image Compression Libraries](https://awesome-repositories.com/f/mobile-development/android-image-compression-libraries.md) — Acts as a library for reducing image file sizes on Android using social media quality standards.
- [Android Image Compression](https://awesome-repositories.com/f/mobile-development/android-image-compression.md) — Reduces image file size and resolution in Android apps while balancing quality and storage.
- [Android Image Memory Management](https://awesome-repositories.com/f/mobile-development/android-image-memory-management.md) — Provides specialized techniques for managing image memory and preventing crashes on the Android platform.
- [Android Image Optimization](https://awesome-repositories.com/f/mobile-development/android-image-optimization.md) — Minimizes image file sizes using resolution and quality strategies specifically optimized for Android. ([source](https://github.com/curzibn/luban#readme))
- [Android Image Optimizers](https://awesome-repositories.com/f/mobile-development/android-image-optimizers.md) — Balances image resolution and file size to prevent memory crashes and optimize storage on Android.

### Graphics & Multimedia

- [Memory-Safe Cropping](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-editors/image-cropping-tools/memory-safe-cropping.md) — Processes ultra-long images by capping pixels to avoid application crashes during loading.
- [Dimension-Aware Resizing](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-processing/dimension-resizing/dimension-aware-resizing.md) — Applies specialized resizing logic based on the original image's aspect ratio and total pixels.
- [Memory-Capped Downsampling](https://awesome-repositories.com/f/graphics-multimedia/media-players/adaptive-streaming-players/resolution-capping/memory-capped-downsampling.md) — Prevents application crashes by capping maximum image dimensions and using downsampling for high-resolution files.
- [Image Compression Tools](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/image-processing/image-compression-tools.md) — Provides a utility that replicates specific social media compression logic to reduce file size.
- [Social Media Image Optimization](https://awesome-repositories.com/f/graphics-multimedia/social-media-image-optimization.md) — Replicates the compression and downsampling logic of social media platforms to ensure professional quality.
- [Heuristic Compression Tuning](https://awesome-repositories.com/f/graphics-multimedia/adaptive-quality-adjustments/heuristic-compression-tuning.md) — Iteratively adjusts compression levels to ensure output files do not exceed the original size.
- [Adaptive Compression](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/image-processing/image-compression-tools/adaptive-compression.md) — Dynamically adjusts compression logic based on input image dimensions to reduce file size. ([source](https://github.com/curzibn/luban#readme))
- [Format Converters](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing-workflows/image-processing-pipelines/image-format-decoders/format-converters.md) — Converts images to more efficient formats while preserving transparency and verifying size reduction. ([source](https://github.com/curzibn/luban#readme))
- [Optimization Pipelines](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing-workflows/image-processing-pipelines/image-format-decoders/format-converters/format-conversion-rules/optimization-pipelines.md) — Transforms source images into optimized formats and verifies that the final file size is reduced.
- [Resolution Scaling Strategies](https://awesome-repositories.com/f/graphics-multimedia/resolution-scaling-strategies.md) — Implements adaptive resolution scaling to maintain visual quality while reducing file size for social media.

### Development Tools & Productivity

- [Batch Image Converters](https://awesome-repositories.com/f/development-tools-productivity/batch-image-converters.md) — Allows the reduction of multiple image file sizes simultaneously and saves them to a designated folder. ([source](https://github.com/curzibn/luban#readme))
- [Bulk Image Processors](https://awesome-repositories.com/f/development-tools-productivity/developer-utilities-libraries/file-processing-utilities/bulk-image-processors.md) — Provides utilities for applying batch compression and resizing operations to multiple image files.
