如何在命令行 Dart 应用程序中使用 dart:ui?

Ale*_*ang 8 dart flutter dart-packages

我知道其中dart:ui包含“Flutter 应用程序的内置类型和核心原语”。我想在转换某些数据文件的命令行 (Dart) 应用程序中使用Color此包 ( ) 中的其他功能。computeLuminance

(我还想使用Flutter Material 中的estimateBrightnessForColor,但我想这更难,或者不可能。)

我使用的是与 Flutter SDK 捆绑在一起的 Dart SDK。

import 'dart:io';
import 'dart:ui';
Run Code Online (Sandbox Code Playgroud)

我明白了Error: Not found: 'dart:ui'

作为旁注,我可以dart:uiDartPad上导入和使用。

小智 0

如果您想在命令行 Dart 应用程序中使用与颜色相关的功能(例如computeLuminance),可以考虑使用Dart生态系统提供的颜色包。该包提供了与颜色相关的实用程序和操作,可以独立于 Flutter 框架使用。

要在命令行 Dart 应用程序中使用颜色包,请按照以下步骤操作:

打开项目的pubspec.yaml文件。添加颜色包作为依赖项:

dependencies:
  color: ^2.1.0
Run Code Online (Sandbox Code Playgroud)

保存文件,然后在终端中运行flutter pub getdart pub get来获取包。在您的 Dart 文件中,导入颜色包:

例子:

import 'package:color/color.dart';

void main() {
  Color color = Color.rgb(128, 128, 128);
  double luminance = color.computeLuminance();
  
  if (luminance > 0.5) {
    print('Color is bright');
  } else {
    print('Color is dark');
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,您可以在命令行 Dart 应用程序中利用 color 包中与颜色相关的功能,包括computeLuminance 。

关于estimateBrightnessForColor,它与Flutter Material框架紧密集成,并且依赖于Flutter渲染引擎。因此,在命令行 Dart 应用程序中使用estimateBrightnessForColor是不可行的。