FLUTTER ECOSYSTEM

nervouself/color_thief_flutter

Grab the color palette from an image, the Flutter implementation of color-thief.

color_thief_flutter project cover
Stars
24
Forks
8
Last push (UTC)
Jul 18, 2021
Project status
Active
Shi Lei GitHub avatar
GITHUB User

Shi Lei ↗

妈呀???

LanguagesDart

Packages published by this repository

Dependencies used

Dependency list 3 items
  • flutter{"sdk":"flutter"}
  • quantize_dart^1.0.3
  • flutter_testDevelopment{"sdk":"flutter"}

Original README

English project snapshot. Visit GitHub for the latest content.

Expand / collapse project README

color_thief_flutter

the Flutter implementation of color-thief, based on quantize_dart.

Usage

import 'package:color_thief_flutter/color_thief_flutter.dart';
import 'package:color_thief_flutter/utils.dart';

// color_thief_flutter.dart

getColorFromUrl('url/to/image').then((color) {
  print(color); // [R,G,B]
});

getPaletteFromUrl('url/to/image').then((palette) {
  print(palette); // [[R,G,B]]
});

getImageFromUrl('url/to/image').then((image) {
  print(image); // Image
});

getImageFromProvider(imageProvider).then((image) {
  print(image); // Image
});

getColorFromImage(image).then((color) {
  print(color); // [R,G,B]
});

getPaletteFromImage(image).then((palette) {
  print(palette); // [[R,G,B]]
});

// utils.dart

final hsv = fromRGBtoHSV([90, 90, 90]);
print(hsv); // [0, 0, 35]

final rgb = fromHSVtoRGB([90, 90, 90]);
print(rgb); // [126, 230, 23]
color_thief_flutter.dart

Main package of color_thief_flutter.

All these functions return null if the parameter is unqualified

getColorFromUrl(String url, [int quality])

returns the base color from the largest cluster, represented as [R,G,B]

getPaletteFromUrl(String url, [int colorCount, int quality])

returns a list that contains the reduced color palette, represented as [[R,G,B]]

getImageFromUrl(String url)

returns the Image from url

getImageFromProvider(ImageProvider imageProvider)

returns the real Image of ImageProvider

getColorFromImage(Image image, [int quality = 10])

returns the base color from the largest cluster, represented as [R,G,B]

getPaletteFromImage(Image image, [int colorCount, int quality])

returns a list that contains the reduced color palette, represented as [[R,G,B]]

parameters
  • url - Url to image.
  • imageProvider - ImageProvider.
  • image - Image that get from getImageFromProvider.
  • colorCount - Between 2 and 256. The maximum number of colours allowed in the reduced palette.
  • quality - Between 1 and 10. There is a trade-off between quality and speed. The bigger the number, the faster the palette generation but the greater the likelihood that colors will be missed.
utils.dart

Tools for format colors.

May cause loss of significance

fromRGBtoHSV(List list)

retruns HSVColor, represented as [H,S,V]

fromHSVtoRGB(List list)

retruns RGBColor, represented as [R,G,B]

parameters
  • R,G,B's range is [0,255]
  • H's range is [0,360]
  • S,V's range is [0,100]

License

Licensed under the MIT License.