首页 > 解决方案 > 如何在 Flutter 上将 RGB 转换为 CIELAB 或 L* a* b*

问题描述

我有 RGB 值rgb[253, 216, 28],但我想在颤动中将其转换为 CIELAB 或 L*、a*、b* 值我该怎么做?

标签: flutterdart

解决方案


您可以使用包:flutter_color_model. 链接:https ://pub.dev/packages/flutter_color_models

因此,为了方便,我们将创建一个从 RGB 转换为 CIELAB 的函数:

List<double> fromRGBtoCIELAB(int red, int green, int blue){
  Color color = Color.fromRGBO(red, green, blue, 1);
  LabColor labColor = LabColor.fromColor(color);
  return [
    double.parse(labColor.lightness.toString()),
    double.parse(labColor.a.toString()),
    double.parse(labColor.b.toString()),
  ];
}

请记住添加flutter_color_model到您的pubspec.yaml文件和import 'package:flutter_color_models/flutter_color_models.dart';代码中;)


推荐阅读