A Dart library for loading, manipulating, and saving images across multiple formats, compatible with command-line, Flutter, and web apps.
Dart Image Library is a versatile image processing package for Dart that allows developers to open, manipulate, and save images in various file formats. It solves the problem of handling graphics across different platforms—like command-line tools, Flutter apps, and web projects—with a unified API. The library supports operations from basic resizing to advanced pixel-level edits and filter applications.
Dart and Flutter developers who need to incorporate image loading, editing, or format conversion in their applications, whether for mobile, desktop, or web.
Developers choose this library for its extensive format support, cross-platform compatibility, and the balance between high-level convenience APIs and low-level pixel manipulation, all within the Dart ecosystem.
Dart Image Library for opening, manipulating, and saving various different image file formats.
Reads and writes common formats like JPG, PNG, GIF, BMP, TIFF, and WebP, including animated variants, as listed in the supported formats documentation, ensuring compatibility with diverse image sources.
Works with both dart:io and dart:html, enabling use in command-line tools, Flutter apps, and web projects, as highlighted in the overview for seamless multi-platform development.
Offers a command-based API for asynchronous operations like resizing, and direct pixel access for custom effects, providing both convenience and control, as shown in the examples for gradients and thumbnails.
Utilizes isolates where available to execute image commands asynchronously, improving throughput in multi-threaded environments, as demonstrated in the Command API example with executeThread.
Version 4.0 is a major revision with significant updates from previous versions, which can disrupt existing codebases and require migration efforts, as noted in the README's warning.
Only supports writing lossless WebP images, not lossy compression, which may hinder web optimization scenarios where smaller file sizes are prioritized, as specified in the formats list.
Lacks pre-built graphical interfaces or widgets, requiring developers to manually implement all user-facing elements for image editing, which increases development time for interactive apps.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.