kandinsky-dart
Full ported version of francisrstokes/kandinsky-js
A tiny color library to create (dymanic and fixed) radial and linear gradients, convert rgb, hue, hex, hsl and css colors.
Usage
A simple usage example:
import 'package:kandinsky/kandinsky.dart' as kandinsky;
main() {
var darkenHexColor = darkenHex(0.5, '#6699CC');
print('my darken hex color: ${darkenHexColor}');
var lightenHexColor = lightenHex(0.5, '#06795C');
print('my lighten hex color: ${lightenHexColor}');
var darkenRgbColor = darkenRgb(0.5, [180, 40, 20]);
print('my darken rgb color: ${darkenRgbColor}');
var lightenRgbColor = lightenRgb(0.5, [155, 90, 60]);
print('my lighten rgb color: ${lightenRgbColor}');
var myDynamicGradient = linearGradient(10, [255, 100, 50], [30, 200, 255]);
print('my gradient with 10 colors: ${myDynamicGradient}');
var myHslColorFromRgb = rgb2hsl([255, 255, 255]);
print('my hsl color from a rgb color: ${myHslColorFromRgb}');
}
API
rgb2hsl(rgbArray)
returns a hsl array
List<num> rgb2hsl(List<num> color)
hsl2rgb(hslArray)
returns an rgb array
List<num> hsl2rgb(List<num> color)
hex2rgb(hexString)
returns an rgb array
List<num> hex2rgb(String hex)
rgb2hex(rgbArray)
returns a hex string
String rgb2hex(List<num> rgb)
hex2hsl(hexString)
returns a hsl array
List<num> hex2hsl(String hex)
hsl2hex(hslArray)
returns a hex string
String hsl2hex(List<num> color)
darkenRgb(amount, rgbArray)
returns a darkened rgb array.
amountis a value in the range[0, 1]
List<num> darkenRgb(num amount, List<num> rgb)
lightenRgb(amount, rgbArray)
returns a lightened rgb array.
amountis a value in the range[0, 1]
List<num> lightenRgb(num amount, List<num> rgb)
darkenHsl(amount, hslArray)
returns a darkened hsl array.
amountis a value in the range[0, 1]
List<num> darkenHsl(num amount, List<num> color)
lightenHsl(amount, hslArray)
returns a lightened hsl array.
amountis a value in the range[0, 1]
List<num> lightenHsl(num amount, List<num> color)
lightenHex(amount, hexString)
returns a lightened hex string.
amountis a value in the range[0, 1]
String lightenHex(num amount, String hex)
darkenHex(amount, hexString)
returns a darkened hex string.
amountis a value in the range[0, 1]
String darkenHex(num amount, String hex)
lerp3(t, c1, c2)
returns a Vector3 colour somewhere between
c1andc2.tis the "time" value in the range[0, 1]
List<num> lerp3(num t, List<num> color1, List<num> color2)
linearGradient(n, c1, c2)
returns an length
narray of Vector3 colours. colours are evenly spaced betweenc1andc2.
List<List<num>> linearGradient(num n, List<num> color1, List<num> color2)
gradient(easeFn, n, c1, c2)
returns an length
narray of Vector3 colours. colours are betweencolor1andcolor2, and are spaced according to the easing functioneaseFn.
List<List<num>> gradient(Function ease, int n, List<num> color1, List<num> color2)
multiGradient(n, col1, col3, ..., colN)
returns a length
narray 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)
rLinearGradient(n, c1, c2)
returns a rounded, length
narray of Vector3 colours. colours are evenly spaced betweencolor1andcolor2.
List<List<num>> rLinearGradient(num n, List<num> color1, List<num> color2)
rGradient(easeFn, n, c1, c2)
returns a rounded, length
narray of Vector3 colours. colours are betweencolor1andcolor2, and are spaced according to the easing functioneaseFn.
List<List<num>> rGradient(Function ease, num n, List<num> color1, List<num> color2)
rMultiGradient(n, col1, col3, ..., colN)
returns a rounded, length
narray 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)
complimentHex(n, hexString)
returns an length
narray 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. Ifnis 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)
complimentHsl(n, hsl)
returns an length
narray 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. Ifnis 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)
complimentRgb(n, rgb)
returns an length
narray 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. Ifnis 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)
rgb2css(alpha, rgb)
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)
hsl2css(alpha, hsl)
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)
color2hue(num p, num q, num t)
returns a saturation of a specific color value
num color2hue(num colorValue, num shading, num tint)
Features and bugs
Please file feature requests and bugs at the issue tracker.