Search categories, packages and repositories

Package detailsv4.12.0

image

Dart Image Library provides server and web apps the ability to load, manipulate, and save images with various image file formats.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
9M
Likes
1.8K
Pub points
160

Install package

flutter pub add image

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

The Dart Image Library enables server and web applications to load, manipulate, and save images in multiple formats. It supports common operations like resizing, cropping, color adjustments, and format conversion, making it ideal for image processing tasks without relying on native platform tools. The library is lightweight and designed for use in Flutter apps across Android, iOS, Web, macOS, Windows, and Linux. It's particularly useful for backend image transformations or generating thumbnails dynamically.

Use cases

  • Image resizing and cropping
  • Thumbnail generation
  • Image format conversion
  • Server-side image processing
  • Dynamic image manipulation in web apps

Key features

  • Supports multiple image formats
  • Cross-platform compatibility
  • Lightweight and fast
  • Built-in image filters
  • Extensible image processing pipeline

Suitable for

  • Backend image processing
  • Web-based image tools
  • Flutter apps needing image manipulation
  • Automated image workflows
  • Developers building image editing features

Considerations

  • Not optimized for real-time UI rendering
  • Limited support for advanced image effects
  • Requires manual handling of large files
  • No built-in caching
  • Best suited for non-interactive image tasks

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Dart Image Library

Dart CI pub package

Overview

The Dart Image Library provides the ability to load, save, and manipulate images in a variety of image file formats.

The library can be used with both dart:io and dart:html, for command-line, Flutter, and web applications.

NOTE: 4.0 is a major revision from the previous version of the library.

Documentation

Supported Image Formats

Read/Write

  • JPG
  • PNG / Animated PNG
  • GIF / Animated GIF
  • BMP
  • TIFF
  • TGA
  • PVR
  • ICO
  • WebP / Animated WebP (lossless and lossy)

Read Only

  • PSD
  • EXR
  • PNM (PBM, PGM, PPM)

Write Only

  • CUR

Examples

Create an image, set pixel values, save it to a PNG.

import 'dart:io';
import 'package:image/image.dart' as img;
void main() async {
  // Create a 256x256 8-bit (default) rgb (default) image.
  final image = img.Image(width: 256, height: 256);
  // Iterate over its pixels
  for (var pixel in image) {
    // Set the pixels red value to its x position value, creating a gradient.
    pixel..r = pixel.x
    // Set the pixels green value to its y position value.
    ..g = pixel.y;
  }
  // Encode the resulting image to the PNG image format.
  final png = img.encodePng(image);
  // Write the PNG formatted data to a file.
  await File('image.png').writeAsBytes(png);
}

To asynchronously load an image file, resize it, and save it as a thumbnail:

import 'package:image/image.dart' as img;

void main(List<String> args) async {
  final path = args.isNotEmpty ? args[0] : 'test.png';
  final cmd = img.Command()
    // Decode the image file at the given path
    ..decodeImageFile(path)
    // Resize the image to a width of 64 pixels and a height that maintains the aspect ratio of the original. 
    ..copyResize(width: 64)
    // Write the image to a PNG file (determined by the suffix of the file path). 
    ..writeToFile('thumbnail.png');
  // On platforms that support Isolates, execute the image commands asynchronously on an isolate thread.
  // Otherwise, the commands will be executed synchronously.
  await cmd.executeThread();
}

Categories

Dependencies

Dependency list 1 items

Source repository

Projects using this package

Rankings