Skip to content

Image ReSizer is a powerful, modern, and privacy-focused Android application designed to help you manage your images efficiently. Whether you need to shrink a photo for an email or convert a PDF page to a high-quality JPEG, this app does it all with a "Community First" approach.

Notifications You must be signed in to change notification settings

0penSourceIt/Image_ReSizer

Repository files navigation

Image ReSizer Logo

Image ReSizer

Android Version Kotlin License

Image ReSizer is a powerful, modern, and privacy-focused Android application designed to help you manage your images efficiently. Whether you need to shrink a photo for an email or convert a PDF page to a high-quality JPEG, this app does it all with a "Community First" approach.


🤖 Behind the Development

This project embraces the future of software creation:

  • Core Execution: The source code and icons were generated using [ Gemini Pro (Heavily) | GPT Go (Low) ] AI, allowing for rapid development and high-quality implementation.
  • Creative Direction: While AI handled the "writing," the UI/UX Design, Thought Process, Feature Logic, and App Architecture were entirely conceptualized and directed by 0penSourceIt.

⚠️ Important: The "Conversion Reality" (What is not Achievable)

To keep the app lightweight and fast, we use Android Native Frameworks. Users must understand the limitations of "System Approximation" versus "True Heavy-Duty Conversion":

1. AVIF & HEIC Support

  • Truly Not Achievable (Native): True AVIF/HEIC encoding on all devices.
  • What has been done: We use the Bitmap.compress native API.
  • The Problem: AVIF requires Android 14+ and HEIC requires Android 10+ for native encoding.
  • The Fallback: On older devices, the app will strictly warn the user and offer a JPEG conversion instead of a silent, poor-quality fallback.

2. SVG Tracing

  • Truly Not Achievable (Native): "True" vectorization (like Adobe Illustrator) from a photo.
  • What has been done: A grid-raster tracer that approximates shapes into SVG <rect> paths.
  • The Problem: Photos look pixelated/blocky in SVG. Only icons/logos trace well.

3. Near-Target Compression

  • The Logic: We use a Binary Search Quality Loop + Iterative Scaling.
  • Cons: For Ex: To hit a 50KB target for a 10MB photo, pixel data MUST be lost. If quality reaches 1% and the target is still not met, the engine will downscale the image dimensions automatically.

🚀 Future Support & Roadmap

These are the features and improvements we identified but haven't implemented yet due to complexity or app-size constraints:

🛠️ Enhanced Format Support (NDK Integration)

  • True AVIF for All: Integrate libraries like awxkee/avif-coder to provide real AVIF encoding support for Android 7.0+ devices, bypassing native OS limitations.
  • Professional HEIF: Use libheif + x265 via NDK for consistent HEIC output across all Android versions.
  • Better SVG Tracing: Move from grid-rasterization to a proper geometric tracer like Potrace or vtracer for smoother, actual vector paths.

📱 Device Compatibility Challenges

  • Legacy Support: Currently, users on Android 11+ or below cannot output HEIC or AVIF. Finding a way to bundle lightweight encoders without adding 30MB+ to the APK is a future goal.
  • Hardware Variation: Different manufacturers (Samsung, Google, Xiaomi) have different native codec performance. We aim to implement a more robust "Hardware Check" system.

📉 Current Known Issues

  • Memory Pressure: Processing very large batch PDF-to-Image conversions can still trigger OOM (Out of Memory) on low-end devices.
  • SVG File Size: Tracing high-detail photos to SVG creates massive text files that can lag image viewers.

🛠️ Deep Feature Breakdown

⚡ Professional Compression Engine

  • Binary Search Quality: Uses iterative passes to find the exact quality % to hit your target size.
  • Iterative Scaling: Automatically reduces dimensions if quality adjustment alone isn't enough.
  • Dual Modes:
    • Very Good: Allows quality to drop to 1% for maximum compression.
    • Best: Maintains a 30% quality floor for professional results.

🔄 Advanced Universal Converter

  • Format Support: JPG, PNG, WEBP, HEIF, AVIF, SVG.
  • PDF Extraction: Single or batch page extraction to high-res images.
  • PDF Merging: Combine multiple images into a professional PDF document.

📜 License & Motive

Main Motive: For The People ❤️

The primary goal of this project is to provide a free, high-quality tool for the community to help with daily digital tasks.

Licensing

This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0).

Made with ❤️ for the community.

About

Image ReSizer is a powerful, modern, and privacy-focused Android application designed to help you manage your images efficiently. Whether you need to shrink a photo for an email or convert a PDF page to a high-quality JPEG, this app does it all with a "Community First" approach.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages