如何获取flutter中imageProvider的高度和宽度?

rt4zxlrg  于 2023-03-31  发布在  Flutter
关注(0)|答案(1)|浏览(382)

在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,
      )),
    );
  }
}
x8diyxa7

x8diyxa71#

目前,有一个现有的Flutter插件可以使用。在您发布问题的时间内,这是不可用的。我建议检查image_size_getter,它现在可以在pub.dev中使用。作为概述,这个包有助于阅读元数据以获得宽度和高度,但不能完全解码图像文件本身。
支持的格式包括:

  • jpeg格式
  • 图像文件
  • 巴布亚新几内亚
  • 韦普
  • 骨矿物质

相关问题