Flutter 颤振-尝试从AssetImage加载时发生超时
我正在尝试使用调色板生成器从图像中提取颜色。我将图像传递给方法来生成调色板,以便从中提取主色调。但是,当我尝试获取该调色板颜色时,错误出现为“尝试从AssetImage(bundle:null,name:1.jpg)加载时超时”,日志cat显示“无法加载asset:1.jpg” 但是,如果我使用image.asset()加载图像,则该图像在构建方法中的加载是完美的 注意-不存在颤振资源文件夹链接问题 这是我的密码Flutter 颤振-尝试从AssetImage加载时发生超时,flutter,dart,colors,palette,color-palette,Flutter,Dart,Colors,Palette,Color Palette,我正在尝试使用调色板生成器从图像中提取颜色。我将图像传递给方法来生成调色板,以便从中提取主色调。但是,当我尝试获取该调色板颜色时,错误出现为“尝试从AssetImage(bundle:null,name:1.jpg)加载时超时”,日志cat显示“无法加载asset:1.jpg” 但是,如果我使用image.asset()加载图像,则该图像在构建方法中的加载是完美的 注意-不存在颤振资源文件夹链接问题 这是我的密码 Future<PaletteGenerator>_updatePale
Future<PaletteGenerator>_updatePaletteGenerator ()async
{
paletteGenerator = await PaletteGenerator.fromImageProvider(
Image.asset("1.jpg").image,
);
return paletteGenerator;
}
Future\u updatePaletGenerator()异步
{
paletteGenerator=等待paletteGenerator.fromImageProvider(
Image.asset(“1.jpg”).Image,
);
返回信号发生器;
}
上述方法用于生成调色板
现在是我的构建方法
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("Image from assets"),
),
body: Column (
mainAxisAlignment: MainAxisAlignment.center,
children:<Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.start,
children:<Widget>[
new Image.asset('assets/images/6.jpg',
color: face, colorBlendMode:BlendMode.modulate ,
fit:BoxFit.cover,
height: 50,
width: 50,
),
new Image.asset('assets/images/1.jpg',
color: face, colorBlendMode: BlendMode.modulate,
fit:BoxFit.cover,
height: 200,
width: 200,
),]),
FutureBuilder<PaletteGenerator>(
future: _updatePaletteGenerator(), // async work
builder: (BuildContext context, AsyncSnapshot<PaletteGenerator> snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.waiting: return new Text('Loading....');
default:
if (snapshot.hasError)
return new Text('Error: ${snapshot.error}');
else
return new Text('Result: ${snapshot.data.dominantColor}');
}
},
)
// <-- image
])),
);
}
@覆盖
小部件构建(构建上下文){
返回材料PP(
家:脚手架(
appBar:appBar(
标题:文本(“来自资产的图像”),
),
正文:专栏(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
划船(
mainAxisAlignment:mainAxisAlignment.start,
儿童:[
新建Image.asset('assets/images/6.jpg',
颜色:face,colorBlendMode:BlendMode.modulate,
适合:BoxFit.cover,
身高:50,
宽度:50,
),
新建Image.asset('assets/images/1.jpg',
颜色:face,colorBlendMode:BlendMode.modulate,
适合:BoxFit.cover,
身高:200,
宽度:200,
),]),
未来建设者(
future:_UpdatePaletGenerator(),//异步工作
生成器:(BuildContext上下文,异步快照){
交换机(快照.连接状态){
case ConnectionState.waiting:返回新文本('Loading…');
违约:
if(snapshot.hasError)
返回新文本('Error:${snapshot.Error}');
其他的
返回新文本('Result:${snapshot.data.dominantColor}');
}
},
)
//问题在于,在您的\u updatePaletteGenerator
上,您提供给Image.asset()的路径是错误的。您必须给'assets/images/1.jpg'
问题在于在您的\u updatePaletteGenerator
上,您提供给Image.asset()的路径是错误的。你必须给'assets/images/1.jpg'
谢谢我在这个愚蠢的错误上浪费了我的3个小时。非常感谢你谢谢我在这个愚蠢的错误上浪费了我的3个小时。非常感谢你