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/

相关文章:

Flutter Codemagic IOS 签名失败

flutter - 如何解决在空 flutter 上调用 '[]'方法

flutter - 生成后 flutter 显示模态底页

list - 为什么我可以在必须为可迭代对象的地方添加列表作为参数?

image - Flutter 图像裁剪和变换。

flutter - '_InternalLinkedHashMap<String, 动态 >' is not a subtype of type ' 地点'

dart - flutter:带有后备文本的 CircleAvatar

c++ - 全屏小部件

android - RemoteViews - void 方法 setRemoteAdapter

javascript - 可过滤的多选组合框穿梭/转移小部件