Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/dnfield/flutter_svg

SVG parsing, rendering, and widget library for Flutter
https://github.com/dnfield/flutter_svg

dart flutter flutter-plugin svg

Last synced: about 1 month ago
JSON representation

SVG parsing, rendering, and widget library for Flutter

Lists

README

        

# flutter_svg

[![Pub](https://img.shields.io/pub/v/flutter_svg.svg)](https://pub.dartlang.org/packages/flutter_svg) [![Coverage Status](https://coveralls.io/repos/github/dnfield/flutter_svg/badge.svg?branch=master)](https://coveralls.io/github/dnfield/flutter_svg?branch=master)

Flutter Logo which can be rendered by this package!

Draw SVG files using Flutter.

## Overview

This library consists of two packages:
[**flutter_svg** ](https://github.com/dnfield/flutter_svg/tree/master/packages/flutter_svg)
and
[**flutter_svg_test** ](https://github.com/dnfield/flutter_svg/tree/master/packages/flutter_svg_test).

[flutter_svg](https://github.com/dnfield/flutter_svg/tree/master/packages/flutter_svg)
provides a wrapper around Dart implementations of SVG parsing,
including SVG path data. In particular, it provides efficient `BytesLoader`
implementations for [`package:vector_graphics`](https://pub.dev/packages/vector_graphics).
The package is easier to use but not as performant as using the
`vector_graphics` and `vector_graphics_compiler` packages directly. Those
packages allow you to do ahead-of-time compilation and optimization of SVGs,
and offer some more performant rasterization strategies at runtime.

[**flutter_svg_test** ](https://github.com/dnfield/flutter_svg/tree/master/packages/flutter_svg_test)
provides a set of functions to find images generated by `flutter_svg` in widget tests.

## Out of scope/non-goals

- SMIL animations. That just seems crazy. I think it'll be possible to animate
the SVG but probably in a more Flutter driven way.
- Interactivity/events in SVG.
- Any CSS support - preprocess your SVGs (perhaps with [usvg](https://github.com/RazrFalcon/resvg/tree/master/crates/usvg) or [scour](https://github.com/scour-project/scour) to get rid of all CSS?).
- Scripting in SVGs
- Foreign elements
- Rendering properties/hints

## Alternatives

- [vector_graphics](https://pub.dev/packages/vector_graphics) which powers this package.
- [Rive](https://rive.app/) supports importing SVGs and animating vector graphics.
- [FlutterShapeMaker](https://fluttershapemaker.com) supports converting SVGs to [CustomPaint](https://api.flutter.dev/flutter/widgets/CustomPaint-class.html) widgets.
- [Jovial SVG](https://pub.dev/packages/jovial_svg) supports a slightly different feature set and a fast binary format.