A Dart ported version of francisrstokes/kandinsky-js
Create dymanic and fixed gradients, convert from/to rgb, hue, hex, hsl and css colors.
Pub dev package: https://pub.dev/packages/kandinsky
Online documentation: https://renanborgez.github.io/kandinsky-dart/
- Depend on it
Add this to your package's pubspec.yaml file:
dependencies:
kandinsky: any
- Install it
You can install packages from the command line:
# with pub:
$ pub get
# with Flutter:
$ flutter pub get
A simple usage example:
import 'package:kandinsky/kandinsky.dart' as kandinsky;
main() {
var darkenHexColor = kandinsky.darkenHex(0.5, '#6699CC');
print('my darken hex color: ${darkenHexColor}');
var lightenHexColor = kandinsky.lightenHex(0.5, '#06795C');
print('my lighten hex color: ${lightenHexColor}');
var darkenRgbColor = kandinsky.darkenRgb(0.5, [180, 40, 20]);
print('my darken rgb color: ${darkenRgbColor}');
var lightenRgbColor = kandinsky.lightenRgb(0.5, [155, 90, 60]);
print('my lighten rgb color: ${lightenRgbColor}');
var myDynamicGradient = kandinsky.linearGradient(10, [255, 100, 50], [30, 200, 255]);
print('my gradient with 10 colors: ${myDynamicGradient}');
var myHslColorFromRgb = kandinsky.rgb2hsl([255, 255, 255]);
print('my hsl color from a rgb color: ${myHslColorFromRgb}');
}
You can check the online version here: http://kandinsky-dart.borges.ninja/
returns a hsl array
List<num> rgb2hsl(List<num> color)
returns an rgb array
List<num> hsl2rgb(List<num> color)
returns an rgb array
List<num> hex2rgb(String hex)
returns a hex string
String rgb2hex(List<num> rgb)
returns a hsl array
List<num> hex2hsl(String hex)
returns a hex string
String hsl2hex(List<num> color)
returns a darkened rgb array.
amount
is a value in the range[0, 1]
List<num> darkenRgb(num amount, List<num> rgb)
returns a lightened rgb array.
amount
is a value in the range[0, 1]
List<num> lightenRgb(num amount, List<num> rgb)
returns a darkened hsl array.
amount
is a value in the range[0, 1]
List<num> darkenHsl(num amount, List<num> color)
returns a lightened hsl array.
amount
is a value in the range[0, 1]
List<num> lightenHsl(num amount, List<num> color)
returns a lightened hex string.
amount
is a value in the range[0, 1]
String lightenHex(num amount, String hex)
returns a darkened hex string.
amount
is a value in the range[0, 1]
String darkenHex(num amount, String hex)
returns a Vector3 colour somewhere between
c1
andc2
.t
is the "time" value in the range[0, 1]
List<num> lerp3(num t, List<num> color1, List<num> color2)
returns an length
n
array of Vector3 colours. colours are evenly spaced betweenc1
andc2
.
List<List<num>> linearGradient(num n, List<num> color1, List<num> color2)
returns an length
n
array of Vector3 colours. colours are betweencolor1
andcolor2
, and are spaced according to the easing functioneaseFn
.
List<List<num>> gradient(Function ease, int n, List<num> color1, List<num> color2)
returns a length
n
array of Vector3 colours. colours are the ones formed from thelinearGradient(n/(numColours-1), col1, col2)
for all colourscol1, col2, ..., colN
List<List<num>> multiGradient(num n, List<List<num>> colors)
returns a rounded, length
n
array of Vector3 colours. colours are evenly spaced betweencolor1
andcolor2
.
List<List<num>> rLinearGradient(num n, List<num> color1, List<num> color2)
returns a rounded, length
n
array of Vector3 colours. colours are betweencolor1
andcolor2
, and are spaced according to the easing functioneaseFn
.
List<List<num>> rGradient(Function ease, num n, List<num> color1, List<num> color2)
returns a rounded, length
n
array of Vector3 colours. colours are the ones formed from thelinearGradient(n/(numColours-1), col1, col2)
for all colourscol1, col2, ..., colN
List<List<num>> rMultiGradient(num n, List<List<num>> colors)
returns an length
n
array of hex strings. The 0th color is the same as the inputhexString
, while the others are colours corresponding to an eve turn around the colour wheel. Ifn
is 3 for example, the two other colours would represent a 1/3 and 2/3 rotation of the colour wheel.
List<String> complimentHex(num n, String hex)
returns an length
n
array of hsl Vector3. The 0th color is the same as the inputhsl
, while the others are colours corresponding to an eve turn around the colour wheel. Ifn
is 3 for example, the two other colours would represent a 1/3 and 2/3 rotation of the colour wheel.
List<List<num>> complimentHsl(num n, List<num> color)
returns an length
n
array of rgb Vector3. The 0th color is the same as the inputrgb
, while the others are colours corresponding to an eve turn around the colour wheel. Ifn
is 3 for example, the two other colours would represent a 1/3 and 2/3 rotation of the colour wheel.
List<List<num>> complimentRgb(num n, List<num> color)
returns an rgba css string like
rgba(255, 255, 255, 1)
from the rgb color and alpha value
String rgb2css(num alpha, List<num> color)
returns an hsl css string like
hsl(222, 50%, 75%, 0.6)
from the hsl color and alpha value
String hsl2css(num alpha, List<num> hsl)
returns a saturation of a specific color value
num color2hue(num colorValue, num shading, num tint)
Please file feature requests and bugs at the issue tracker.
MIT