A flutter plugin to view and encode avif images.
To add the flutter_avif to your Flutter application follow the installation instructions on pub.dev.
AvifImage widget has a similar api as Flutter Image widget.
import 'package:flutter_avif/flutter_avif.dart';
AvifImage.file(
file,
height: 200,
fit: BoxFit.contain,
),
AvifImage.asset(
"test.avif",
height: 200,
fit: BoxFit.contain,
),
AvifImage.network(
"https://test.com/test.avif",
height: 200,
fit: BoxFit.contain,
),
For documentation on widget properties, please refer to https://api.flutter.dev/flutter/widgets/Image-class.html.
To convert an image to avif:
import 'package:flutter_avif/flutter_avif.dart';
final asset = await rootBundle.load("asset.gif");
final avifBytes = await encodeAvif(asset.buffer.asUint8List());
final outputFile = File('output.avif');
outputFile.writeAsBytes(avifBytes);
import 'package:flutter_avif/flutter_avif.dart';
final inputFile = File('input.png');
final inputBytes = await inputFile.readAsBytes();
final avifBytes = await encodeAvif(inputBytes);
final outputFile = File('output.avif');
outputFile.writeAsBytes(avifBytes);