tinycolor 1.0.3 copy "tinycolor: ^1.0.3" to clipboard
tinycolor: ^1.0.3 copied to clipboard

Flutter Color manipulation and conversion, ported from JS tinycolor2

tinycolor #

TinyColor is a small library for Flutter color manipulation and conversion

A port of tinycolor2 by Brian Grinstead

Getting Started #

A tinycolor receives a Color as parameter.

import 'package:tinycolor/tinycolor.dart';

final TinyColor = TinyColor(Colors.green);
copied to clipboard

Now you can also use the package to extend the native Color class with all the same features, but simpler. To use extension update, make sure to change envieronment sdk version in pubspec like this: sdk: ">=2.6.0 <3.0.0"

From a Hex String #

The package uses Pigment by Bregy Malpartida Ramos to convert strings to Color

TinyColor.fromString('#FE5567');
copied to clipboard

From RGB int values #

TinyColor.fromRGB(r: 255, g: 255, b:255);
copied to clipboard

From HSL color #

HslColor color = HslColor(h: 250, s: 57, l: 30);
TinyColor.fromHSL(color);
copied to clipboard

From HSV color #

HSVColor color = HSVColor(h: 250, s: 57, v: 30);
TinyColor.fromHSV(color);
copied to clipboard

From Flutter's Color #

TinyColor tinyColor = Colors.blue.toTinyColor();
copied to clipboard

Properties #

color #

Returns the flutter Color after operations

final Color color = TinyColor(Colors.white).color;
copied to clipboard

Methods #

getBrightness #

Returns the perceived brightness of a color, from 0-255, as defined by Web Content Accessibility Guidelines (Version 1.0).

TinyColor.fromString("#ffffff").getBrightness(); // 255
TinyColor.fromString("#000000").getBrightness(); // 0
// or with Color extension
Colors.grey.brightness;  // 127
copied to clipboard

isLight #

Return a boolean indicating whether the color's perceived brightness is light.

TinyColor.fromString("#ffffff").isLight(); // true
TinyColor.fromString("#000000").isLight(); // false
// or with Color extension
Colors.white.isLight;  // true
copied to clipboard

isDark #

Return a boolean indicating whether the color's perceived brightness is dark.

TinyColor.fromString("#ffffff").isDark(); // false
TinyColor.fromString("#000000").isDark(); // true
// or with Color extension
Colors.white.isDark;  // false
copied to clipboard

getLuminance #

Return the perceived luminance of a color, a shorthand for flutter Color.computeLuminance

TinyColor.fromString("#ffffff").getLuminance();
// or with Color extension
Colors.white.luminance;
copied to clipboard

setAlpha #

Sets the alpha value on the current color.

final color = TinyColor(Colors.red).setAlpha(10);
copied to clipboard

setOpacity #

Sets the opacity value on the current color.

final color = TinyColor(Colors.red).setOpacity(0.5);
copied to clipboard

Color Modification #

These methods manipulate the current color, and return it for chaining. For instance:

TinyColor(Colors.red).lighten().desaturate().color;
// or with Color extension
Colors.red.lighten().desaturate();
copied to clipboard

lighten #

lighten: function(amount = 10) -> TinyColor. Lighten the color a given amount, from 0 to 100. Providing 100 will always return white.

TinyColor(Colors.red).lighten().color;
TinyColor(Colors.red).lighten(100).color;
// or with Color extension
Colors.red.lighten(50);
copied to clipboard

brighten #

brighten: function(amount = 10) -> TinyColor. Brighten the color a given amount, from 0 to 100.

TinyColor(Colors.black).brighten().color;
// or with Color extension
Colors.black.brighten(50);
copied to clipboard

darken #

darken: function(amount = 10) -> TinyColor. Darken the color a given amount, from 0 to 100. Providing 100 will always return black.

TinyColor(Colors.red).darken().color;
TinyColor(Colors.red).darken(100).color;
// or with Color extension
Colors.red.darken(50);
copied to clipboard

tint #

Mix the color with pure white, from 0 to 100. Providing 0 will do nothing, providing 100 will always return white.

TinyColor(Color.red).tint().color;
TinyColor(Color.red).tint(100).color;
// or with Color extension
Colors.red.tint(50);
copied to clipboard

shade #

Mix the color with pure black, from 0 to 100. Providing 0 will do nothing, providing 100 will always return black.

TinyColor(Colors.red).shade().color;
TinyColor(Colors.red).shade(100).color;
// or with Color extension
Colors.red.shade(50);
copied to clipboard

desaturate #

desaturate: function(amount = 10) -> TinyColor. Desaturate the color a given amount, from 0 to 100. Providing 100 will is the same as calling greyscale.

TinyColor(Colors.red).desaturate().color;
TinyColor(Colors.red).desaturate(100).color;
// or with Color extension
Colors.red.desaturate(50);
copied to clipboard

saturate #

saturate: function(amount = 10) -> TinyColor. Saturate the color a given amount, from 0 to 100.

TinyColor(Colors.red).saturate().color;
// or with Color extension
Colors.red.saturate(50);
copied to clipboard

greyscale #

greyscale: function() -> TinyColor. Completely desaturates a color into greyscale. Same as calling desaturate(100).

TinyColor(Colors.red).greyscale().color;
// or with Color extension
Colors.red.greyscale;
copied to clipboard

spin #

spin: function(amount = 0) -> TinyColor. Spin the hue a given amount, from -360 to 360. Calling with 0, 360, or -360 will do nothing (since it sets the hue back to what it was before).

TinyColor(Colors.red).spin(180).color;
// or with Color extension
Colors.red.spin(180);

// spin(0) and spin(360) do nothing
TinyColor(Colors.red).spin(0).color;
TinyColor(Colors.red).spin(360).color;
copied to clipboard

compliment #

compliment: function() -> TinyColor. Returns the Complimentary Color for dynamic matching.

TinyColor(Colors.red).compliment().color;
// or with Color extension
Colors.red.compliment;
copied to clipboard

mix #

mix: function(toColor, amount = 10) -> TinyColor. Blends the color with another color a given amount, from 0 - 100, default 50.

TinyColor(Colors.red).mix(TinyColor(Colors.yellow, 20)).color;
// or with Color extension
Colors.red.mix(Colors.yellow, 20);
copied to clipboard

Common operations #

clone #

clone: function() -> TinyColor. Instantiate a new TinyColor object with the same color. Any changes to the new one won't affect the old one.

final color1 = new TinyColor(Colors.red);
final color2 = color1.clone();
color2.setAlpha(20);
copied to clipboard
51
likes
25
points
117
downloads

Publisher

unverified uploader

Weekly Downloads

2024.09.29 - 2025.04.13

Flutter Color manipulation and conversion, ported from JS tinycolor2

Repository (GitHub)

License

MIT (license)

Dependencies

flutter, meta, pigment

More

Packages that depend on tinycolor