rxlabz / cyclop

A Flutter color palette with eyedropper, HSL, RGB and Material colors
https://rxlabz.github.io/cyclop
MIT License
118 stars 36 forks source link
dart design flutter

Cyclop Pub Version

Cyclop logo

A flutter colorpicker with an eyedropper tool. Works on mobile, desktop & web ( CanvasKit)

Demo

Desktop & tablet Mobile
Cyclop desktop eyedropper Cyclop onmobile
Material HSL RVB Custom
Cyclop material Cyclop hsl Cyclop hsl Cyclop hsl
Light theme Dark theme
Cyclop light Cyclop dark

Eyedropper

Select a color from your Flutter mobile or desktop screen.

Cyclop eye dropper

To use the eyedropper you need to wrap the app in the EyeDrop widget.

@override
  Widget build(BuildContext context) {
    return EyeDrop(
      child: Builder(
        builder: (context) => Scaffold(
          backgroundColor: backgroundColor,
          body: Container(
            child: ColorButton(
              key: Key('c1'),
              color: color1,
              config: ColorPickerConfig(enableEyePicker = true),
              size: 32,
              elevation: 5,
              boxShape: BoxShape.rectangle, // default : circle
              swatches: swatches,
              onColorChanged: (value) => setState(() => color1 = value),
            ),
          ),
        ),
      ),
    );
  }

Customisable

ColorButton(
  key: Key('c1'),
  color: color1,
  config: ColorPickerConfig(
    this.enableOpacity = true,
    this.enableLibrary = false,
    this.enableEyePicker = true,
  ),
  boxShape: BoxShape.rectangle, // default : circle
  size: 32,
  swatches: swatches,
  onColorChanged: (value) => setState( () => color1 = value ),
 );

ColorButton(
  key: Key('c2'),
  color: color2,
  config: ColorPickerConfig(enableEyePicker: false),
  size: 64,
  swatches: swatches,
  onColorChanged: (value) => setState( () => color2 = value ),
  onSwatchesChanged: (newSwatches) => setState(() => swatches = newSwatches),
 );