我基本上想要将我在assets文件夹中的图像显示在画布上 .
import 'package:flutter/material.dart' as ui;
...
ui.Image img = ui.Image.asset("images/some_image.png");
ui.paintImage(canvas: canvas, image: img);
当我尝试将img分配给paintImage的图像时,收到以下错误消息 .
参数类型'Image(C:\ ABC \ flutter \ packages \ flutter \ lib \ src \ widgets \ image.dart)'无法分配给参数类型'Image(C:\ ABC \ flutter \ bin \)缓存\ PKG \ sky_engine \ LIB \ UI \ painting.dart)” .
我真的不知道会出现什么问题,我看到其他代码与ui.Image有类似的方法 .
请指教 .
1 回答
在flutter中有两个名为
Image
的类,位于不同的包中 .有Widget,其行为类似于小部件,可以从资产,内存或通过其命名构造函数从网络实例化 .
还有ui包Image,在较低级别绘画时使用,例如
CustomPainter
. 由于此版本位于ui
包中,因此通常使用ui
前缀导入,如下所示:不要将
material
导入ui
!这将导致很多混乱 .要创建窗口小部件,请使用
Image.asset
构造函数,传递资产名称 .要从资产制作
ui.Image
,请使用以下代码段: