Flutter颜色选择插件ncscolor的使用
Flutter颜色选择插件ncscolor的使用
NCSColor
NCSColor 是一个简单的 Dart 包,用于将 NCS 颜色转换为 RGB、HSL 和 HEX 值,并且可以将 RGB 转换为 HSL 和 RGB 转换为 HEX。
安装
- 将以下内容添加到您的包的
pubspec.yaml
文件中:
dependencies:
ncscolor: any
- 使用 IDE 的 GUI 或通过命令行获取该包:
$ pub get
- 在您的应用程序中导入
color.dart
文件:
import 'package:ncscolor/ncscolor.dart';
使用
-
将 NCS 颜色转换为 RGB
NCSColor(ncsCode: '2060-R60B').toRgb(); // 返回 {r:1, g:58, b:214}
-
将 NCS 颜色转换为 HSL
NCSColor(ncsCode: '2060-R60B').toHsl(); // 返回 {h:281, s:66%, l:53%}
-
将 NCS 颜色转换为 HEX
NCSColor(nccCode: '2060-R60B').toHex(); // 返回 #a43ad6
-
将 RGB 转换为 HSL
ColorConvert.rgbToHsl(r: 164,b: 58,g:214); // 返回 {h:281, s:66%, l:53%}
-
将 RGB 转换为 HEX
ColorConvert.rgbToHex(r: 164,b: 58,g:214); // 返回 #a43ad6
示例代码
import 'package:flutter/material.dart';
import 'package:ncscolor/ncscolor.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
// 这个 widget 是您应用程序的根。
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
[@override](/user/override)
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("NCS-Color"),
centerTitle: true,
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text("NCS : '2060-R60B' "),
Text("ncs to rgp : ${NCSColor(ncsCode: '2060-R60B').toRgb()}"),
Text("ncs to hsl : ${NCSColor(ncsCode: '2060-R60B').toHsl()}"),
Text("ncs to hex : ${NCSColor(ncsCode: '2060-R60B').toHex()}"),
const Divider(),
const Text("RGB(r: 164,b: 58,g:214)"),
Text("rgb to hsl : ${ColorConvert.rgbToHsl(r: 164,b: 58,g:214)}"),
Text("rgb to hex : ${ColorConvert.rgbToHex(r: e64,b: 58,g:214)}"),
],
),
),
// 这个尾部逗号使自动格式化更友好于构建方法。
);
}
}
更多关于Flutter颜色选择插件ncscolor的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复