承接 kartovitskii/laracolor 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kartovitskii/laracolor

最新稳定版本:v1.1.0

Composer 安装命令:

composer require kartovitskii/laracolor

包简介

A Laravel package for generating consistent colors from strings

README 文档

README

Latest Version on Packagist Total Downloads License PHP Version

Laracolor - это элегантный пакет для Laravel, который генерирует консистентные цвета на основе любой строки. Идеально подходит для создания цветных аватарок, тегов, категорий и других элементов интерфейса.

✨ Особенности

  • 🎯 Консистентная генерация - одинаковый ввод всегда дает одинаковый цвет
  • 🎨 8 готовых палитр - от пастельных до ярких
  • ⚙️ Гибкая настройка - кастомные диапазоны saturation и lightness
  • 🌈 HSL и RGB поддержка - работайте с цветами в любом формате
  • 🎭 Контрастные цвета - автоматический подбор цвета текста
  • 📊 Генерация градиентов - создавайте цветовые схемы
  • 🚀 Кэширование - оптимизация производительности
  • 🔧 Configurable - настройка через .env и конфиг

📦 Установка

Установите пакет через Composer:

composer require kartovitskii/laracolor

Публикация конфигурации

php artisan vendor:publish --provider="Kartovitskii\Laracolor\ColorServiceProvider" --tag="laracolor-config"

🚀 Быстрый старт

Базовое использование

use Kartovitskii\Laracolor\Facades\Laracolor;

// Генерация цвета для пользователя
$color = Laracolor::fromString('john.doe@example.com');
// Результат: #d4b8b8 (пастельно-розовый)

// Для аватарок пользователей
$userColor = Laracolor::fromString(auth()->user()->email);

В Blade шаблонах

<div class="user-avatar" style="background-color: {{ Laracolor::fromString($user->email) }}">
    {{ substr($user->name, 0, 1) }}
</div>

<!-- С контрастным текстом -->
<div class="user-avatar" style="background-color: {{ Laracolor::fromString($user->email) }}; 
    color: {{ Laracolor::getContrastColor($user->email) }}">
    {{ substr($user->name, 0, 1) }}
</div>

🎨 Палитры

Laracolor поддерживает 8 различных палитр:

Палитра Описание Пример
pastel Мягкие, приглушенные тона 🎨 #d4b8b8, #b8d4c8
vibrant Насыщенные, яркие цвета 🎨 #ff6b6b, #4ecdc4
dark Темные, глубокие оттенки 🎨 #2c3e50, #34495e
light Светлые, воздушные тона 🎨 #f8f9fa, #e9ecef
muted Спокойные, неброские цвета 🎨 #95a5a6, #7f8c8d
warm Теплые оттенки (красные, оранжевые) 🎨 #e67e22, #d35400
cold Холодные тона (синие, фиолетовые) 🎨 #3498db, #9b59b6
random Полностью случайные цвета

Использование палитр

// Пастельные тона (по умолчанию)
$pastel = Laracolor::fromString('user1');

// Яркие цвета
$vibrant = Laracolor::setPalette('vibrant')->fromString('user2');

// Теплые оттенки
$warm = Laracolor::setPalette('warm')->fromString('user3');

📚 Документация

fromString(string $string): string

Генерирует HEX-цвет на основе строки.

$hex = Laracolor::fromString('hello world'); // #c4d4b8

toRgb(string $string): array

Возвращает RGB значения.

$rgb = Laracolor::toRgb('hello world');
// ['red' => 196, 'green' => 212, 'blue' => 184]

toHsl(string $string): array

Возвращает HSL значения.

$hsl = Laracolor::toHsl('hello world');
// ['hue' => 85.71, 'saturation' => 45.5, 'lightness' => 82.5]

Дополнительные методы

getContrastColor(string $string): string

Возвращает черный или белый цвет для контрастного текста.

$bgColor = Laracolor::fromString('user');
$textColor = Laracolor::getContrastColor('user');
// Используйте $textColor для текста на фоне $bgColor

getGradient(string $string, int $steps = 5): array

Генерирует градиент из указанного количества цветов.

$gradient = Laracolor::getGradient('brand', 5);
// ['#8ba3c7', '#9bb3d7', '#abc3e7', '#bbd3f7', '#cbe3ff']

Настройка палитр

Через методы

$customColor = Laracolor::setSaturationRange(40, 60)
    ->setLightnessRange(50, 70)
    ->setHueOffset(120) // смещение оттенка
    ->fromString('custom');

Через конфигурацию

// config/laracolor.php
'custom_ranges' => [
    'saturation' => [
        'min' => 40,
        'max' => 60,
    ],
    'lightness' => [
        'min' => 50,
        'max' => 70,
    ],
],

⚡ Кэширование

Включите кэширование для улучшения производительности:

LARACOLOR_CACHE_ENABLED=true
LARACOLOR_CACHE_TTL=3600

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-06

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固