搜索插件、代码仓与 APP 分类

插件详情v1.0.2

color_thief_flutter

从图像中获取颜色调色板,color-thief 的 Flutter 实现。

近 30 天下载
65
喜欢数
37
Pub 分数
40

安装插件

flutter pub add color_thief_flutter

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Color Thief Flutter 是一个 Flutter 包,可从图像中提取主要颜色,生成基于最显著色调的颜色调色板。它是流行的 Color Thief 算法的 Dart 实现,使开发者能够在应用中分析和使用图像颜色。该包通过采样图像像素并聚类相似颜色来生成代表性调色板。适用于动态 UI、主题生成或视觉设计工具,支持高效的颜色提取且开销极小。源代码开源,可在 GitHub 上获取,以确保透明度并支持贡献。

适合场景

  • 动态主题生成
  • 从图像中提取UI颜色
  • 视觉设计工具
  • 基于图像的颜色调色板
  • 应用背景颜色匹配

主要特点

  • 从图像中提取主色调
  • 使用颜色聚类算法
  • 轻便高效
  • 开源且可访问 GitHub
  • 支持 Flutter 平台

适合对象

  • 注重设计的应用程序
  • 图像处理功能
  • 主题自定义工具
  • 创意应用开发
  • 移动UI增强

使用建议

  • 需要在提取颜色之前加载图像
  • 限制为占主导地位的颜色分析
  • 不支持实时处理
  • 依赖外部图像数据
  • 结果可能因图像大小而异

原始 README

以下为关联源码仓库的 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.

所属分类

依赖

依赖清单 1 项

  • quantize_dart^1.0.3

源码仓库

使用此插件的项目

暂无相关数据。