我试图通过编程方式将这个哈希 colored颜色 代码#159424 (GREEN-COLOR)转换为更暗和更亮的 colored颜色 .怎么做请帮忙?

make green color darker

toDarkColor(String hashColor){
  // how to convert that hash string to make green color darker?
}

make green color lighter

toLightColor(String hashColor){
  // how to convert that hash string to make green color lighter? 
}

推荐答案

适合那些想要变暗或变亮Color而不是六边形线的人

// ranges from 0.0 to 1.0

Color darken(Color color, [double amount = .1]) {
  assert(amount >= 0 && amount <= 1);

  final hsl = HSLColor.fromColor(color);
  final hslDark = hsl.withLightness((hsl.lightness - amount).clamp(0.0, 1.0));

  return hslDark.toColor();
}

Color lighten(Color color, [double amount = .1]) {
  assert(amount >= 0 && amount <= 1);

  final hsl = HSLColor.fromColor(color);
  final hslLight = hsl.withLightness((hsl.lightness + amount).clamp(0.0, 1.0));

  return hslLight.toColor();
}

// usage
final lightRed = lighten(Colors.red);
final darkBlue = darken(Colors.blue, .3);

现场演示

Dart相关问答推荐

Flutter/Dart 为 Google Maps Marker 添加自定义点击事件

日期时间时区反序列化

在`lib`文件夹中使用`src`子文件夹有什么好处吗

在 Dart/Flutter 中创建 DateTime 对象时如何指定 TimeZone?

dart:js 和 js 包有什么区别?

Flutter中包导入和普通导入有什么区别?

AnimatedContainer 可以为其高度设置动画吗?

如何处理 ListView 滚动方向

从列表中删除项目后更新 UI

如何在Flutter中返回异步函数的值?

如何从类中访问元数据注释?

如何将 Stream 转换为 List

如何更改Flatter DevTools的默认浏览器?

Flutter - 在 POST 请求中处理状态码 302

Flutter DataTable - 点击行

Flutter 中 ListView.builder 中的反向列表

可选参数的默认值

如何在 Dart 中获取字符串的字节数?

dart中的max/mi int/double 值是否有常数?

如何使用 Dart 构建枚举?