Colour class
A rich colour class that implements Flutter's Color interface while adding multi-format input/output and colour space conversions.
Colour stores colour as ARGB integer components (0-255 each) and can be created from hex strings, RGB/ARGB values, HSV/HSL values, percentages, fractions, base-256 strings, or existing Color objects.
Constructors
| Constructor | Input Format |
|---|---|
Colour() |
Raw ARGB integers (0-255) |
Colour.fromRGB() |
RGB integers with full opacity |
Colour.fromARGB() |
RGB integers with opacity as percentage |
Colour.fromHex() |
Hex string (#FF0000, #F00, FF0000) |
Colour.fromHSV() |
Hue (0-360), Saturation, Value (0-1) |
Colour.fromHSL() |
Hue (0-360), Saturation, Lightness (0-1) |
Colour.fromPercent() |
ARGB as percentages (0-100) |
Colour.fromFraction() |
ARGB as fractions (0.0-1.0) |
Colour.fromB256() |
4-character base-256 encoded string |
Colour.fromColor() |
Existing Flutter Color |
Output Formats
| Getter | Example Output |
|---|---|
| hex | 'FFFF0000' |
| rgb | '255,0,0' |
| argb | '255,255,0,0' |
| b256 | Base-256 string |
- Inheritance
-
- Object
- ColourSpace
- Colour
- Implemented types
- Available extensions
Constructors
- Colour({int alpha = 255, int red = 255, int green = 255, int blue = 255})
-
const
- Colour.fromARGB({double opacity = 100, int red = 255, int green = 255, int blue = 255})
-
factory
- Colour.fromB256(String data)
- Colour.fromColor(Color color)
- Colour.fromFraction({double alpha = 1.0, double red = 1.0, double green = 1.0, double blue = 1.0})
- Colour.fromHex({required String hexString})
-
factory
- Colour.fromHSL({required double h, required double s, required double l})
-
factory
- Colour.fromHSLColour(HSLColour hslColour)
-
factory
- Colour.fromHSV({double a = 1.0, required double h, required double s, required double v})
-
factory
- Colour.fromHSVColour(HSVColour hsvColour)
-
factory
- Colour.fromPercent({double a = 100, double r = 100, double g = 100, double b = 100})
- Colour.fromRGB({required int red, required int green, required int blue})
-
const
Properties
- a → double
-
The alpha channel of this color.
no setteroverride
- alpha → int
-
The alpha (opacity) channel, 0-255.
final
- argb → String
-
Comma-separated ARGB string (e.g.
'255,255,0,0').no setter - b → double
-
The blue channel of this color.
no setteroverride
- b256 → String
-
The ARGB value as a 4-character base-256 encoded string.
no setter
- blue → int
-
The blue channel, 0-255.
final
- color → Color
-
Returns this Colour as a standard Flutter Color.
no setter
- colorSpace → ColorSpace
-
The color space of this color.
no setteroverride
- colour → Colour
-
Available on Color, provided by the c extension
Converts this Color to a Colour instance.no setter - g → double
-
The green channel of this color.
no setteroverride
- green → int
-
The green channel, 0-255.
final
- hashCode → int
-
The hash code for this object.
no setteroverride
- hex → String
-
The ARGB value as an 8-character hex string (e.g.
'FFFF0000').no setter - hsl → HSLColour
-
This colour converted to the HSL colour space.
no setter
- hsv → HSVColour
-
This colour converted to the HSV colour space.
no setter
- hsvValue → double
-
no setter
- hue → double
-
no setter
- lightness → double
-
no setter
- opacity → double
-
The alpha channel of this color as a double.
no setteroverride
- r → double
-
The red channel of this color.
no setteroverride
- red → int
-
The red channel, 0-255.
final
- rgb → String
-
Comma-separated RGB string (e.g.
'255,0,0').no setter - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- saturation → double
-
no setter
- value → int
-
A 32 bit value representing this color.
no setteroverride
Methods
-
computeLuminance(
) → double -
Returns a brightness value between 0 for darkest and 1 for lightest.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
print(
) → String -
toARGB32(
) → int -
Returns a 32-bit value representing this color.
override
-
toColour(
) → Colour -
Converts this colour to its Colour (ARGB) representation.
override
-
toHSL(
) → HSLColour -
Converts this colour to its HSLColour representation.
override
-
toHSLColor(
) → HSLColor -
toHSV(
) → HSVColour -
Converts this colour to its HSVColour representation.
override
-
toHSVColor(
) → HSVColor -
toString(
) → String -
A string representation of this object.
override
-
withAlpha(
int alpha) → Colour -
Returns a new color that matches this color with the alpha channel
replaced with
a(which ranges from 0 to 255).override -
withBlue(
int blue) → Colour -
Returns a new color that matches this color with the blue channel replaced
with
b(which ranges from 0 to 255).override -
withGreen(
int green) → Colour -
Returns a new color that matches this color with the green channel
replaced with
g(which ranges from 0 to 255).override -
withHsvValue(
double value) → Colour -
withHue(
double hue) → Colour -
withLightness(
double lightness) → Colour -
withOpacity(
double opacity) → Colour -
Returns a new color that matches this color with the alpha channel
replaced with the given
opacity(which ranges from 0.0 to 1.0).override -
withRed(
int red) → Colour -
Returns a new color that matches this color with the red channel replaced
with
r(which ranges from 0 to 255).override -
withSaturation(
double saturation) → Colour -
withValues(
{double? alpha, double? red, double? green, double? blue, ColorSpace? colorSpace}) → Colour -
Returns a new color with the provided components updated.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
override