Flutter:后台的SVG图像抛出错误

Posted

技术标签:

【中文标题】Flutter:后台的SVG图像抛出错误【英文标题】:Flutter: SVG Image in the background throws an error 【发布时间】:2020-05-23 11:15:38 【问题描述】:

我必须将 SVG 图像保留在背景中,并将文本保留在顶部。 当我从 Flutter_SVG 包中保留 SVG 图像时,我收到了这样的错误。

I/flutter (24437): Unsupported operation: Could not resolve image href: Component%206%20-%201-image.png

Picture provider: ExactAssetPicture(name: "assets/images/login_header.svg", bundle: null,
I/flutter (24437):   colorFilter: ColorFilter.mode(MaterialColor(primary value: Color(0xfff44336)), BlendMode.srcIn))
I/flutter (24437): Picture key: AssetBundlePictureKey(bundle: PlatformAssetBundle#32e52(), name:
I/flutter (24437):   "assets/images/xxx.svg", colorFilter: ColorFilter.mode(MaterialColor(primary value:
I/flutter (24437):   Color(0xfff44336)), BlendMode.srcIn))

【问题讨论】:

确保您的图像文件名只有小写字母和小写字母。 @Darish。这不是问题所在。问题是包中尚不支持滤镜效果 【参考方案1】:

这样做flutter clean && flutter pub get

【讨论】:

【参考方案2】:

我可以通过将 svg 文件拖放到 Figma 设计工具中来解决此问题,然后将它们全部导出以获得标准的无错误 svg 文件。

【讨论】:

【参考方案3】:

下载 SVG CLEANER "Download" 并清理文件,然后在文本编辑器中打开 .SVG 并更改以下内容:

并添加

应该够了,这个问题我遇到过好几次了,才解决。

【讨论】:

【参考方案4】:

需要从 SVG 图像中清除缓存。它可以由 SVGCleaner 完成,这将在我们的项目中起作用。

【讨论】:

【参考方案5】:

您使用的flutter_svg 包不支持filter effects。遗憾的是,这在当前版本的包中是不可能的。这只能是可能的。

无论如何都是黑客之一(糟糕的解决方法)

将阴影转换为位图(不正确的解决方案)

关注Github Issues 上的问题。希望该功能能够按照软件包开发者的说法尽快推出

【讨论】:

以上是关于Flutter:后台的SVG图像抛出错误的主要内容,如果未能解决你的问题,请参考以下文章

flutter_svg 0.19.1 与 flutter_plugin_pdf_viewer 不兼容

Flutter web 在同一个项目但不同的笔记本电脑上抛出错误

颤振将svg添加到特定部分

Flutte VS RN

图像未在 Flutter 中加载

Flutter SVG 渲染