A minimalist Flutter package for fast bitmap manipulation using Dart FFI and isolates for performance.
Flutter Bitmap is a Flutter package designed for fast and efficient bitmap manipulation within Flutter applications. It provides a minimalist interface for applying transformations like contrast, brightness, saturation, and exposure, leveraging Dart FFI and isolates to ensure high performance. The package solves the performance issues of existing image libraries by focusing exclusively on Flutter's native RGBA32 format and avoiding redundant conversions.
Flutter developers building image editing apps, photo filters, or any application requiring real-time bitmap transformations on mobile devices. It's ideal for those who need performance-critical image processing without the overhead of full-featured image libraries.
Developers choose Flutter Bitmap for its superior performance through Dart FFI and isolate support, its Flutter-specific optimization that eliminates format conversions, and its minimalist design that focuses only on essential bitmap operations. It outperforms alternatives like the `image` package in Flutter contexts by integrating seamlessly with Flutter's image decoding pipeline.
A Flutter package for manipulating bitmaps
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses Dart FFI to port functions to C/C++ for blazing-fast contrast, brightness, saturation, and exposure adjustments, as highlighted in the README's performance focus.
Relies on Flutter's ImageStreamListener for RGBA32 decoding, eliminating redundant conversions and ensuring seamless performance within Flutter apps.
Designed to work with isolates via `compute`, allowing heavy computations to be offloaded to free the UI thread, as demonstrated in the example app.
Enables applying multiple transformations like brightness and saturation in a single call with `applyBatch`, reducing overhead and improving efficiency.
Lacks support for saving images in common formats like JPEG or PNG; users must rely on other libraries such as `image` for encoding, as admitted in the README.
Missing advanced operations like white balance, noise, or color blending, with many features listed as Todo items, making it less comprehensive than alternatives.
Resize functionality currently only supports nearest interpolation, which can produce pixelated results compared to smoother methods available in other packages.