Search packages, repositories and app categories

GitHub repositorynervouself/color_thief_flutter

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

Original README

English project snapshot. Visit GitHub for the latest content.

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.

Shi Lei GitHub avatar
GitHub author

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"}

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗