如何将线性渐变从 Figma 转换为 Flutter/Dart 代码

How to convert Linear Gradient from Figma to Flutter/Dart code

我在 Figma 中有一个包含线性渐变颜色的设计,我想将其导入 Dart 代码。

设计看起来像这样

颜色代码在FigmaCSS中提供

background: linear-gradient(110.52deg, #FFE080 0%, #CB5F00 100%);
border-radius: 15px;

我想将 CSS 转换为 Dart 以尽可能接近设计,我找到了两种方法,但其中 none 给出了准确的颜色。

尝试 1 - CSS 到 Flutter 代码网站 - https://flutterkit.github.io/c2f/

站点转换为以下代码,其中有一些 Flutter 无法理解的百分比。

尝试 2- Figma 到 Flutter 插件 - https://www.figma.com/community/plugin/844008530039534144/FigmaToFlutter

这给了我一个在 Flutter 中工作但不是精确设计的代码。

Container(
        width: 340,
        height: 208,
        decoration: BoxDecoration(
          borderRadius : BorderRadius.only(
            topLeft: Radius.circular(15),
            topRight: Radius.circular(15),
            bottomLeft: Radius.circular(15),
            bottomRight: Radius.circular(15),
          ),
      gradient : LinearGradient(
          begin: Alignment(0.5841947793960571,0.20964664220809937),
          end: Alignment(-0.20964664220809937,0.21863843500614166),
          colors: [Color.fromRGBO(255, 223, 127, 1),Color.fromRGBO(202, 95, 0, 1)]
        ),
  ),
),

这给了我这个图像,它与原始设计相反,角落处更暗和更亮。

我想坚持尽可能接近设计,而不是通过一些猜测来实现。请帮助我。

我对您生成的代码进行了一些小改动,以便获得更好的结果:

代码示例

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final color1 = Color(0xFFFFE080);
    final color2 = Color(0xFFCB5F00);
    return Container(
      width: 340,
      height: 208,
      decoration: BoxDecoration(
        borderRadius: BorderRadius.circular(15),
        gradient: LinearGradient(colors: [color1, color2]),
      ),
    );
  }
}

截图

Try the full code on DartPad