On the fly image conversion

This commit is contained in:
2021-02-21 12:31:03 -05:00
parent 5212d7bf70
commit 901a69bb91
13 changed files with 296 additions and 53 deletions

View File

@@ -0,0 +1,40 @@
import 'dart:ui';
import 'package:flutter/material.dart';
class ImaginiImageProvider extends ImageProvider<ImaginiImageProvider> {
@override
final String url;
@override
final double scale;
@override
final Map<String, String> headers;
ImaginiImageProvider(this.url, {this.scale = 1.0, this.headers})
: assert(url != null),
assert(scale != null);
NetworkImage _netImg;
@override
ImageStreamCompleter load(ImaginiImageProvider key, DecoderCallback decode) {
return MultiFrameImageStreamCompleter(
codec: _loadAsync(decode),
scale: 1.0,
debugLabel: fileId,
informationCollector: () sync* {
yield ErrorDescription('Path: $fileId');
},
);
}
Future<Codec> _loadAsync(DecoderCallback decode) async {
_netImg._loadAsync(decode);
}
@override
Future<ImaginiImageProvider> obtainKey(ImageConfiguration configuration) {
}
}