gpt4 book ai didi

flutter - 如何在 flutter 中将颜色应用于多色 svg?

转载 作者:行者123 更新时间:2023-12-05 06:14:59 37 4
gpt4 key购买 nike

我正在寻找 flutter 插图 svg 的颜色变化。我尝试了 flutter_svg 包,但它只支持对 svg 应用一种颜色,如果我这样做,svg 将显示为单一颜色 svg,单个颜色将丢失。有什么方法可以在运行时为多色 svg 更改颜色?

最佳答案

你的意思是这样的吗?我称之为 SVG 着色。

SVG Colorization App Demo

我将尝试将这个概念压缩到一个简短的摘要中。在 SVG 文件中,您需要使用 fill 属性,因为它定义了十六进制颜色代码。

在编程方面,您将:

  1. 将 SVG 文件数据提取为 String 变量 svgCode

Illustration of SVG File Data Extraction into String svgCode

  1. previousColor 中分配前一个十六进制颜色代码,在 newColor 中分配当前选择的十六进制颜色代码。

Illustration of hex color code assignment to variables previousColor & newColor

  1. svgCode 上应用 String.replaceAll 方法来替换颜色。

Illustration of hex color code replacement

  1. 更新 previousColor 的值。

Illustration of previousColor value updation

更简短的阐述是

/// 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/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com