Prism Flutter 🌈
Flutter extensions for the Prism color manipulation library. Provides conversion between RayRgb8 and Flutter Color objects.
Resources
Features
- 🔄 Easy conversion: Extensions for
RayRgb8↔Colorconversion - 🎨 Full ARGB support: Perfect fidelity round-trip conversions
- âš¡ Zero overhead: Direct value conversions
- 🌈 Enhanced manipulation: Access Prism's color operations from Flutter Colors
Quick Start
import 'package:prism_flutter/prism_flutter.dart';
// Convert RayRgb8 to Flutter Color
final ray = RayRgb8.fromHex('#FF0000');
final color = ray.toColor();
// Convert Flutter Color to RayRgb8
final backToRay = Colors.red.toRayRgb8();
Usage
RayRgb8 to Flutter Color
final red = RayRgb8.fromHex('#FF0000');
final color = red.toColor();
final transparent = red.toColorWithOpacity(0.5);
Flutter Color to RayRgb8
final color = Colors.blue;
final ray = color.toRayRgb8();
Enhanced Color Operations
// Chain operations using both Flutter and Prism methods
final result = Colors.red
.toRayRgb8()
.withOpacity(0.8)
.lerp(Colors.blue.toRayRgb8(), 0.3)
.toColor();
// Generate accessibility schemes
final scheme = Spectrum.fromRay(Colors.blue.toRayRgb8());
final textColor = scheme.source.onRay.toColor();
Color Palettes
Access pre-built color palettes with Flutter integration:

import 'package:prism_flutter/prism_flutter.dart';
import 'package:prism/palettes/rgb/material.dart';
final materialBlue = MaterialRgb.blue.shade500.toColor();
final primaryColor = MaterialRgb.indigo.source.toColor();
API Reference
RayRgb8 Extensions
toColor()- Convert to Flutter ColortoColorWithOpacity(double opacity)- Convert with specific opacity
Flutter Color Extensions
toRayRgb8()- Convert to RayRgb8
License
MIT License © 2025 Jimmy Forrester-Fellowes - see LICENSE file for details.
For an introduction to Prism see Jimmy's blog post.
Libraries
- prism_flutter
- Flutter extensions for the Prism color manipulation library.