kandinsky 1.0.2 kandinsky: ^1.0.2 copied to clipboard
A tiny color library. Create (dymanic and fixed) radial and linear gradients, convert rgb, hex, hue, hsl and css colors.
kandinsky-dart #
A Dart ported version of francisrstokes/kandinsky-js
Create dymanic and fixed gradients, convert from/to rgb, hue, hex, hsl and css colors.
Documentation #
Pub dev package: https://pub.dev/packages/kandinsky
Online documentation: http://kandinsky-dart.borges.ninja/
Install #
- 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
Usage #
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}');
}
API #
You can check the online version here: http://kandinsky-dart.borges.ninja/
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.
amount
is a value in the range[0, 1]
List<num> darkenRgb(num amount, List<num> rgb)
lightenRgb(amount, rgbArray) #
returns a lightened rgb array.
amount
is a value in the range[0, 1]
List<num> lightenRgb(num amount, List<num> rgb)
darkenHsl(amount, hslArray) #
returns a darkened hsl array.
amount
is a value in the range[0, 1]
List<num> darkenHsl(num amount, List<num> color)
lightenHsl(amount, hslArray) #
returns a lightened hsl array.
amount
is a value in the range[0, 1]
List<num> lightenHsl(num amount, List<num> color)
lightenHex(amount, hexString) #
returns a lightened hex string.
amount
is a value in the range[0, 1]
String lightenHex(num amount, String hex)
darkenHex(amount, hexString) #
returns a darkened hex string.
amount
is a value in the range[0, 1]
String darkenHex(num amount, String hex)
lerp3(t, c1, c2) #
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)
linearGradient(n, c1, c2) #
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)
gradient(easeFn, n, c1, c2) #
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)
multiGradient(n, [col1, col3, ..., colN]) #
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)
rLinearGradient(n, c1, c2) #
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)
rGradient(easeFn, n, c1, c2) #
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)
rMultiGradient(n, [col1, col3, ..., colN]) #
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)
complimentHex(n, hexString) #
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)
complimentHsl(n, hsl) #
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)
complimentRgb(n, rgb) #
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)
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.
License #
MIT