gradients

Creator: coderz1093

Last updated:

Add to Cart

Description:

gradients

gradients #
Implementations of Flutter's [LinearGradient], [RadialGradient], and
[SweepGradient] with support for the CMYK, HSI, HSL, HSP, HSB, LAB, Oklab,
RGB, and XYZ color spaces.
gradients depends on and exposes the flutter_color_models package.
See: flutter_palette,
a package for generating color palettes.
Usage #
import 'package:gradients/gradients.dart';
copied to clipboard
The 3 classes in gradients can be used interchangeably with Flutter's
[Gradient]s: [LinearGradientPainter], [RadialGradientPainter], and
[SweepGradientPainter].
final colors = <Color>[Colors.lime, Colors.pink, Colors.cyan];
final linearGradient = LinearGradientPainter(colors: colors);
final radialGradient = RadialGradientPainter(colors: colors);
final sweepGradient = SweepGradientPainter(colors: colors);
copied to clipboard
Like [Gradient]s, [GradientPainter]s can be provided to a [BoxDecoration],
or the [createShader] method can be used to paint directly to a [Canvas].
final widget = Container(
decoration: BoxDecoration(
gradient: LinearGradientPainter(
colors: <Color>[Colors.lime, Colors.pink, Colors.cyan],
),
),
);
copied to clipboard
Color Spaces #
By default, [Color]s are interpolated in the RGB color space; A [colorSpace]
can be provided to set the color space colors will be interpolated in.
final colors = <Color>[Colors.lime, Colors.pink, Colors.cyan];
final oklabGradient = LinearGradientPainter(
colorSpace: ColorSpace.oklab,
colors: colors,
);
copied to clipboard

Color Models #
However, if [ColorModel]s are utilized and no [colorSpace] is provided,
the gradient will be interpolated in the color space defined by the starting
color within any pair of colors.
final colors = <Color>[
RgbColor(0, 188, 212),
HsbColor(35, 100, 100),
OklabColor(0.9, -0.05, 0.033),
HspColor(175, 100, 50),
];

// This gradient will be interpolated in the RGB color space,
// then the HSB color space, then the Oklab color space.
final gradient = LinearGradientPainter(colors: colors);
copied to clipboard

If [invert] is set to true, the gradient will be interpolated
in the color space defined by the ending color within any pair
of colors.
// This gradient will be interpolated in the HSB color space,
// then the Oklab color space, then the HSP color space.
final gradient = LinearGradientPainter(colors: colors, invert: true);
copied to clipboard

Output #
Below is the same set of colors interpolated in each of the supported
color spaces.
final colors = <Color>[Colors.lime, Colors.pink, Colors.cyan];
copied to clipboard
CMYK #
final gradient = LinearGradientPainter(
colors: colors, colorSpace: ColorSpace.cmyk);
copied to clipboard

HSB #
final gradient = LinearGradientPainter(
colors: colors, colorSpace: ColorSpace.hsb);
copied to clipboard

HSI #
final gradient = LinearGradientPainter(
colors: colors, colorSpace: ColorSpace.hsi);
copied to clipboard

HSL #
final gradient = LinearGradientPainter(
colors: colors, colorSpace: ColorSpace.hsl);
copied to clipboard

HSP #
final gradient = LinearGradientPainter(
colors: colors, colorSpace: ColorSpace.hsp);
copied to clipboard

LAB #
final gradient = LinearGradientPainter(
colors: colors, colorSpace: ColorSpace.lab);
copied to clipboard

Oklab #
final gradient = LinearGradientPainter(
colors: colors, colorSpace: ColorSpace.oklab);
copied to clipboard

RGB #
final gradient = LinearGradientPainter(
colors: colors, colorSpace: ColorSpace.rgb);
copied to clipboard

XYZ #
final gradient = LinearGradientPainter(
colors: colors, colorSpace: ColorSpace.xyz);
copied to clipboard

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.