Generic Image for Flutter

A versatile Flutter widget for displaying images of various formats including SVG, PNG, JPEG, and Network Image . With built-in functionalities for placeholders, error handling, and more, GenericImage streamlines the process of working with different image formats.

Video Demo

Check out the video demonstration of the generic_image package.

Features

  • Supports multiple image formats: SVG, PNG, JPEG.
  • Automatic format detection based on file extension.
  • Built-in placeholder and error widgets.
  • Cache support for network images.
  • Extensive customization through the SvgStyle class.

Installation

1. Add the package to your pubspec.yaml:

dependencies:
  generic_image: ^0.1.0

2. Install the package:

flutter pub get

Usage

Basic Usage

import 'package:generic_image/generic_image.dart';

GenericImage(
  src: 'path_to_your_image/image.svg',
  format: ImageFormat.svg,
)

Automatic Format Detection

GenericImage(
  src: 'path_to_your_image/image.svg',
  format: ImageFormat.detectAutomatically,
)

Using Placeholders and Error Widgets

GenericImage(
  src: 'https://your_image_url/image.png',
  format: ImageFormat.png,
  placeholder: (context, url) => CircularProgressIndicator(),
  errorWidget: (context, url, error) => Icon(Icons.error),
)

SVG Styling

Utilize the SvgStyle class for extensive styling options for SVG images.

GenericImage(
  src: 'path_to_your_image/image.svg',
  format: ImageFormat.svg,
  svgStyle: SvgStyle(
    color: Colors.red,
    alignment: Alignment.center,
    // ... other style properties ...
  ),
)

Example App

There's a detailed example project in the example directory showcasing various features of the generic_image package. To run it:

  1. Navigate to the example directory:
cd example
  1. Run the example app:
flutter run

Contribution

Feel free to open an issue or submit a pull request if you find any bugs or have some suggestions for improvements.

License

MIT License


Please adapt the content as per your requirements, such as the version number, additional features, etc. The README.md should be comprehensive, up-to-date, and offer clear instructions and descriptions for your users.

Libraries

generic_image