假设我在pubspec.yaml中声明了自己的图像,如下所示:
assets:
- assets/kitten.jpg我的颤音代码是:
void main() {
runApp(
new Center(
child: new Image.asset('assets/kitten.jpg'),
),
);
}现在我有了一个new Image.asset(),如何确定该图像的宽度和高度?例如,我只想打印出图像的宽度和高度。
(看起来dart:ui的图像类有宽度和高度,但不确定如何从小部件的图像转到dart:ui的图像。)
谢谢!
发布于 2020-12-01 19:11:18
如果您不想使用FutureBuilder,也可以像下面这样使用await:
不要忘记导入图像。但是,由于有两个图像类,所以像这样导入它并与ui.Image一起使用
import 'dart:ui' as ui然后,您可以获取图像的尺寸如下所示。
final Image image = Image(image: AssetImage('assets/images/someimage.png'));
Completer<ui.Image> completer = new Completer<ui.Image>();
image.image
.resolve(new ImageConfiguration())
.addListener(new ImageStreamListener((ImageInfo image, bool _) {
completer.complete(image.image);
}));
ui.Image info = await completer.future;
int width = info.width;
int height = info.height;https://stackoverflow.com/questions/44665955
复制相似问题