Flutter颜色转换插件color_convert_null_safety的使用
Flutter颜色转换插件color_convert_null_safety的使用
简介
color_convert_null_safety
是一个用于颜色转换的 Dart 库。它支持多种颜色空间之间的相互转换,包括但不限于 rgb
、hsl
、hsv
、hwb
、cmyk
、ansi
、ansi16
、hex
字符串以及 CSS 的 keyword
(会四舍五入到最接近的颜色)。该库基于 color-convert 项目,由 Heather Arthur 开发。
使用方法
导入库
首先,在你的 Flutter 项目中添加依赖:
dependencies:
color_convert_null_safety: ^1.0.0
然后运行 flutter pub get
安装依赖。
基本用法
以下是一些基本的用法示例:
RGB 转 HSL
import 'package:color_convert_null_safety/color_convert.dart';
void main() {
List<int> hsl = convert.rgb.hsl(140, 200, 100);
print(hsl); // 输出: [96, 48, 59]
}
关键字转 RGB
import 'package:color_convert_null_safety/color_convert.dart';
void main() {
List<int> rgb = convert.keyword.rgb('blue');
print(rgb); // 输出: [0, 0, 255]
}
获取通道数
import 'package:color_convert_null_safety/color_convert.dart';
void main() {
int rgbChannels = convert.rgb.channels; // 3
int cmykChannels = convert.cmyk.channels; // 4
int ansiChannels = convert.ansi16.channels; // 1
}
API 文档
颜色空间转换
所有函数都有两种变体:四舍五入版和未四舍五入版。默认情况下,返回值是四舍五入后的结果。若要获取未四舍五入的原始结果,只需在函数后加上 .raw
。
HEX 转 LAB
import 'package:color_convert_null_safety/color_convert.dart';
void main() {
List<double> labRounded = convert.hex.lab('DEADBF');
print(labRounded); // 输出: [76, 21, -2]
List<double> labRaw = convert.hex.lab.raw('DEADBF');
print(labRaw); // 输出: [75.56213190997677, 20.653827952644754, -2.290532499330533]
}
RGB 转 CMYK
import 'package:color_convert_null_safety/color_convert.dart';
void main() {
List<int> cmykRounded = convert.rgb.cmyk(167, 255, 4);
print(cmykRounded); // 输出: [35, 0, 98, 0]
List<double> cmykRaw = convert.rgb.cmyk.raw(167, 255, 4);
print(cmykRaw); // 输出: [34.509803921568626, 0, 98.43137254901961, 0]
}
数组支持
所有接受多个参数的函数也支持传递数组作为参数。
RGB 转 HEX
import 'package:color_convert_null_safety/color_convert.dart';
void main() {
String hex1 = convert.rgb.hex(123, 45, 67);
print(hex1); // 输出: '7B2D43'
String hex2 = convert.rgb.hex([123, 45, 67]);
print(hex2); // 输出: '7B2D43'
}
更多关于Flutter颜色转换插件color_convert_null_safety的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter颜色转换插件color_convert_null_safety的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
color_convert_null_safety
是一个用于在 Flutter 中进行颜色转换的插件,支持空安全(null safety)。它提供了多种颜色格式之间的转换功能,例如 RGB、HSL、HSV、HEX 等。
安装插件
首先,你需要在 pubspec.yaml
文件中添加依赖:
dependencies:
flutter:
sdk: flutter
color_convert_null_safety: ^1.0.0
然后运行 flutter pub get
来安装依赖。
使用插件
以下是一些常见的使用示例:
1. RGB 转 HEX
import 'package:color_convert_null_safety/color_convert_null_safety.dart';
void main() {
var rgb = [255, 0, 0]; // 红色
var hex = ColorConvert.rgb2hex(rgb);
print(hex); // 输出: #ff0000
}
2. HEX 转 RGB
import 'package:color_convert_null_safety/color_convert_null_safety.dart';
void main() {
var hex = '#ff0000'; // 红色
var rgb = ColorConvert.hex2rgb(hex);
print(rgb); // 输出: [255, 0, 0]
}
3. RGB 转 HSL
import 'package:color_convert_null_safety/color_convert_null_safety.dart';
void main() {
var rgb = [255, 0, 0]; // 红色
var hsl = ColorConvert.rgb2hsl(rgb);
print(hsl); // 输出: [0, 100, 50]
}
4. HSL 转 RGB
import 'package:color_convert_null_safety/color_convert_null_safety.dart';
void main() {
var hsl = [0, 100, 50]; // 红色
var rgb = ColorConvert.hsl2rgb(hsl);
print(rgb); // 输出: [255, 0, 0]
}
5. RGB 转 HSV
import 'package:color_convert_null_safety/color_convert_null_safety.dart';
void main() {
var rgb = [255, 0, 0]; // 红色
var hsv = ColorConvert.rgb2hsv(rgb);
print(hsv); // 输出: [0, 100, 100]
}
6. HSV 转 RGB
import 'package:color_convert_null_safety/color_convert_null_safety.dart';
void main() {
var hsv = [0, 100, 100]; // 红色
var rgb = ColorConvert.hsv2rgb(hsv);
print(rgb); // 输出: [255, 0, 0]
}