flutter - Flutter转换不同类型的图像类

标签 flutter dart widget

我是Flutter的新手。显然,Image有不同的类。我正在研究的是:

import 'package:image/image.dart'; // Image Class 1
import 'package:flutter/src/widgets/image.dart'; // Image Class 2

我已经使用Image Class 2加载了 Assets 图片。我不知道如何将其转换为Image Class 1,反之亦然。 Image Class 1有两个构造函数Image.fromBytes(...)Image.from(Image other),但事实是另一个类没有提供图像的字节数组。有什么建议么?

最佳答案

引用的图像类来自Flutter image类。该文档是here。您列出的构造函数并不意味着要在不同的图像类型之间进行转换。对于特定类型的图像,它们是不同的生成器。您引用的Image.from()静态方法实际上称为“命名构造函数”。 .from构造函数是常见的Dart数据类构造函数,用于有效地将一个对象复制到另一个对象(与Javascript中的Object.assign({}, myObject)完全不同。

您试图做的事超出了您在问题中引用的命名构造函数的目的。 Dart在其标准库中确实提供了一个相当强大的图像库。 See Here

如果试图使图像抖动,可以使用以下代码作为示例:

final Widget image = new Image(image: NetworkImage('https://via.placeholder.com/700'));

顺便说一句,有a very helpful VS Code plugin可以自动为您的 Dart 模型生成数据类。

编辑:显示如何加载 Assets 图像

如果您尝试加载 Assets 图像,请使用以下命令:
Image.asset(
        'assets/images/asset_image.png',
      );

当然,您将需要在pubspec.yaml中注册 Assets 。为此,请在pubspec.yaml的flutter部分下,添加以下内容:
  assets:
    - assets/images/

然后,当您重新编译时,您应该能够加载 Assets 。 Official docs on assets in flutter.

关于flutter - Flutter转换不同类型的图像类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59758638/

相关文章:

firebase - 未定义类 'StorageUploadTask' flutter

css - Blogspots 小部件 CSS 位置 : fixed; and Chrome 的奇怪问题

android - 小部件在旋转(垂直到水平)时崩溃

javascript - 如何在应用程序 + jQuery 插件(使用 $.widget 工厂)之间划分逻辑?

flutter - 使用 VS Code 在 Genymotion 机器上运行 Flutter

firebase - 配置默认 Firebase 应用 __FIRAPP_DEFAULT

flutter - StreamBuilder 和 Flutter 中的流问题(接收重复数据)

firebase - 如果仅知道一个字段(firestore)的数据,如何查找文档的id?

Flutter 将 Draggable Scrollbar 添加到 CustomScrollView?它一直给我 'The argument type CustomScrollView can' t 被分配给 BoxScrollView'

php - 在 Flutter 中获取 pHp 数组或 map 作为 JSON 数据?