SpriteWidgetを使用しているとき,ローカルのassetではなくネットワークから取得した場合があります. そんなときは,ui.Imageをhttpから取得したresponse.bodyBytesから生成することができます. こんな感じ ` final ui.Image image = await loadImage(response.bodyBytes); ` 使用例 ```dart import 'dart:async'; import 'package:http/http.dart'; import 'package:spritewidget/spritewidget.dart'; import 'dart:ui' as ui; Sprite setNetworkImage(String url) async { //////URLから画像取得 var response = await get(url); if (response.statusCode != 200) { print(response.statusCode.toString()); return; } // Convert the obtained ByteData into ui.Image final ui.Image image = await loadImage(response.bodyBytes); return new Sprite.fromImage(image); } Future<ui.Image> loadImage(List<int> img) async { final Completer<ui.Image> imageCompleter = new Completer(); ui.decodeImageFromList(img, (ui.Image img) { imageCompleter.complete(img); }); return imageCompleter.future; } ```
2020/12/22 14:48:42

コメント (0)

あなたもコメントしてみませんか

アカウント新規作成(無料)

既にアカウントを持っている方は ログイン