一尘不染

如何在Flutter / Dart中从磁盘读取和调整图像大小

flutter

在Flutter / Dart中,我如何执行以下3个步骤:

  1. 从磁盘读取图像,
  2. 阅读其原始尺寸(宽度和高度),
  3. 调整大小。

注意:我必须能够使用常规的Flutter Image小部件显示最终结果。

澄清: 我不想保存图像,但确实想在内存中调整其大小。


阅读 722

收藏
2020-08-13

共1个答案

一尘不染

您可以使用image.file构造函数从磁盘读取图像。

有关更多功能,您可以使用图片库

Dart库提供了以各种不同文件格式加载,保存和处理图像的功能。

来自文档示例的样本

加载jpeg,调整大小并将其另存为png

    import 'dart:io' as Io;
    import 'package:image/image.dart';
    void main() {
      // Read a jpeg image from file.
      Image image = decodeImage(new Io.File('test.jpg').readAsBytesSync());

      // Resize the image to a 120x? thumbnail (maintaining the aspect ratio).
      Image thumbnail = copyResize(image, width: 120);

      // Save the thumbnail as a PNG.
      new Io.File('out/thumbnail-test.png')
            ..writeAsBytesSync(encodePng(thumbnail));
    }
2020-08-13