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.
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.
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":
- Truly Not Achievable (Native): True AVIF/HEIC encoding on all devices.
- What has been done: We use the
Bitmap.compressnative 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.
- 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.
- 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.
These are the features and improvements we identified but haven't implemented yet due to complexity or app-size constraints:
- 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+x265via 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.
- 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.
- 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.
- 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.
- 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.
The primary goal of this project is to provide a free, high-quality tool for the community to help with daily digital tasks.
This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0).
Made with ❤️ for the community.
