dominant_color_detector 0.0.2 copy "dominant_color_detector: ^0.0.2" to clipboard
dominant_color_detector: ^0.0.2 copied to clipboard

A new Flutter package to that extract color from image pixel.

example/lib/main.dart

import 'package:example/color_swatch.dart';
import 'package:flutter/material.dart';
import 'package:dominant_color_detector/dominant_color_detector.dart'; // <- Your package import

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: const ColorDemoPage(),
      debugShowCheckedModeBanner: false,
    );
  }
}

class ColorDemoPage extends StatefulWidget {
  const ColorDemoPage({super.key});

  @override
  State<ColorDemoPage> createState() => _ColorDemoPageState();
}

class _ColorDemoPageState extends State<ColorDemoPage> {
  List<DominantColorStat> stats = [];
  int groupValue = 0;

  final imageUrl =
      'https://upload.wikimedia.org/wikipedia/commons/a/a4/2019_Toyota_Corolla_Icon_Tech_VVT-i_Hybrid_1.8.jpg';

  @override
  void initState() {
    super.initState();
    _analyze();
  }

  Future<void> _analyze() async {
    final imageBytes = await fetchImageBytes(imageUrl);
    final result = await DominantColorDetector.analyze(imageBytes);
    setState(() => stats = result);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Dominant Colors')),
      body: Padding(
        padding: const EdgeInsets.all(12),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Image.network(imageUrl),
            const SizedBox(height: 16),
            Text(
              "Selected color: ${stats.isNotEmpty ? stats[groupValue].color.label : 'None'}",
              style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
            ),
            const SizedBox(height: 5),
            ColorSwatchList(
              stats,
              groupValue: groupValue,
              onTap: (index) {
                setState(() => groupValue = index);
              },
            ),
          ],
        ),
      ),
    );
  }
}
4
likes
160
points
33
downloads

Publisher

unverified uploader

Weekly Downloads

A new Flutter package to that extract color from image pixel.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, http, image

More

Packages that depend on dominant_color_detector