作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找 flutter 插图 svg 的颜色变化。我尝试了 flutter_svg 包,但它只支持对 svg 应用一种颜色,如果我这样做,svg 将显示为单一颜色 svg,单个颜色将丢失。有什么方法可以在运行时为多色 svg 更改颜色?
最佳答案
你的意思是这样的吗?我称之为 SVG 着色。
我将尝试将这个概念压缩到一个简短的摘要中。在 SVG 文件中,您需要使用 fill
属性,因为它定义了十六进制颜色代码。
在编程方面,您将:
String
变量 svgCode
。previousColor
中分配前一个十六进制颜色代码,在 newColor
中分配当前选择的十六进制颜色代码。svgCode
上应用 String.replaceAll
方法来替换颜色。previousColor
的值。更简短的阐述是
/// Initially without any color selection.
SVGPicture.string('''<svg code with fill #f7ebcb>''');
/// After the user selects the red color.
SVGPicture.string('''<svg code with fill #FF0000>''');
This tutorial可以帮助解决您的问题。不仅 this app在运行时更改颜色,但它也允许用户下载经过处理的 SVG 代码。
关于flutter - 如何在 flutter 中将颜色应用于多色 svg?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62657147/
我是一名优秀的程序员,十分优秀!