java 图片高宽_如何确定Flutter中图像的宽度和高度?

本文展示了如何在Flutter中获取网络图片的宽度和高度。通过使用ImageProvider的resolve方法结合ImageStream监听器,可以在图片加载完成后获取其ImageInfo,进一步得到图片的width和height。
摘要由CSDN通过智能技术生成

如果您已经拥有 Image 小部件,则可以通过在 ImageProvider 上调用 resolve 来读取 ImageStream .

06ad43f1-c3f0-43d8-845b-091b342dd016.jpg

import 'dart:ui' as ui;

import 'dart:async';

import 'package:flutter/material.dart';

import 'package:flutter/services.dart';

void main() {

runApp(new MaterialApp(

home: new MyHomePage(),

));

}

class MyHomePage extends StatelessWidget {

Widget build(BuildContext context) {

Image image = new Image.network('https://i.stack.imgur.com/lkd0a.png');

Completer completer = new Completer();

image.image

.resolve(new ImageConfiguration())

.addListener((ImageInfo info, bool _) => completer.complete(info.image));

return new Scaffold(

appBar: new AppBar(

title: new Text("Image Dimensions Example"),

),

body: new ListView(

children: [

new FutureBuilder(

future: completer.future,

builder: (BuildContext context, AsyncSnapshot snapshot) {

if (snapshot.hasData) {

return new Text(

'${snapshot.data.width}x${snapshot.data.height}',

style: Theme.of(context).textTheme.display3,

);

} else {

return new Text('Loading...');

}

},

),

image,

],

),

);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值