使用SvgPicture.assets加载图片时出现颤振问题



我正在尝试加载图像到我的扑动应用程序和某些原因,我得到一个错误,我不知道如何修复

这是我的代码:

import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
class LogInPage extends StatefulWidget {
const LogInPage({Key? key}) : super(key: key);
@override
_LogInPageState createState() => _LogInPageState();
}
class _LogInPageState extends State<LogInPage> {
@override
Widget build(BuildContext context) {
Size size = MediaQuery.of(context).size;
double viewInsert = MediaQuery.of(context).viewInsets.bottom;
double defaultLoginSize = size.height - (size.height * 0.2);
double defaultRegisterSize = size.height - (size.height * 0.1);
return Scaffold(
body: Stack(
children: [
Align(
alignment: Alignment.center,
child: SingleChildScrollView(
child: Container(
width: size.width,
height: defaultLoginSize,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Welcome',
style:
TextStyle(fontWeight: FontWeight.bold, fontSize: 24),
),
SizedBox(height: 40),
SvgPicture.asset('assets/Image1.png'), // this is where I am trying to load 
// the picture
SizedBox(height: 40),
Container(
margin: EdgeInsets.symmetric(vertical: 10),
padding:
EdgeInsets.symmetric(horizontal: 20, vertical: 5),
width: size.width,
),
],
),
),
),
),
],
),
);
}
}

,这是我得到的错误:

由SVG捕获的异常
抛出以下_Exception,解析单帧图片流:
Exception: FormatException:意外扩展字节(在偏移量0处)
图片提供者:ExactAssetPicture(名称:"assets/MyBarber3.png", bundle: null, colorFilter:>null)
图片密钥:AssetBundlePictureKey(bundle: PlatformAssetBundle#05902(),名称:
assets/MyBarber3.png", colorFilter: null)这是我的ymal文件:

dependencies:
flutter:
sdk: flutter
firebase_core: ^1.4.0
firebase_database: ^7.1.2
firebase_auth: ^3.0.1
cloud_firestore: ^2.4.0
firebase_storage: ^10.0.1
flutter_svg: ^0.22.0
google_fonts: ^2.1.0
cupertino_icons: ^1.0.2
assets:
- assets/

有人知道我怎么解决这个问题吗?

您的代码清楚地表明您正在尝试在SvgPicture中加载png。资产功能

SvgPicture.asset('assets/Image1.png'), // here

你可以使用

加载png图像
Image.asset('assets/Image1.png')  

AssetImage('assets/Image1.png')

否则放置svg图片,效果良好。

SvgPicture接受svg文件作为输入

所以要确保:

  • 图片的扩展名/类型是Image1.svg
  • 图片路径正确
  • SvgPicture.asset('assets/Image1.svg')

最新更新