在Flutter中,如何获取imageProvider的宽度和高度?
在下面的例子中,我需要获取imageProvider的宽度。这样我就可以计算photo_view包中PhotoView小部件的minScale。
import 'package:flutter/material.dart';
import 'package:photo_view/photo_view.dart';
class ImageViewerScreen extends StatelessWidget {
final ImageProvider imageProvider;
ImageViewerScreen({@required this.imageProvider});
@override
Widget build(BuildContext context) {
final double _screenWidth = MediaQuery.of(context).size.width;
final double _imageWidth =
imageProvider.width; //Here is the question: how to get the width of this imageProvider?
final double _minScale = _screenWidth / _imageWidth;
return Scaffold(
appBar: AppBar(),
body: Container(
child: PhotoView(
imageProvider: imageProvider,
minScale: _minScale,
)),
);
}
}
1条答案
按热度按时间x8diyxa71#
目前,有一个现有的Flutter插件可以使用。在您发布问题的时间内,这是不可用的。我建议检查image_size_getter,它现在可以在pub.dev中使用。作为概述,这个包有助于阅读元数据以获得宽度和高度,但不能完全解码图像文件本身。
支持的格式包括: