Colority — PHP‑бібліотека для парсингу й аналізу кольорів

4
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 19 грудня, 2025
Colority — PHP‑бібліотека, що парсить і конвертує кольори (RGB, HSL, Hex), витягує палітри зображень і підбирає оптимальний контрастний колір. Хочете дізнатися, як легко генерувати теми та аватари в Laravel за допомогою Colority?

Colority від Tomás López — бібліотека для PHP, яка дозволяє трансформувати й перевіряти кольори, знаходити оптимальний контрастний колір, витягувати кольори зі зображень та робити інше. Вона вміє розпарсити рядки в об’єкти кольорів і конвертувати їх між RGB, HSL та Hex.

Якщо тип кольору невідомий, метод parse спрощує розбір різних форматів із рядка. Якщо рядок не вдасться перетворити на об’єкт кольору, метод поверне null:

/** @var RgbColor|null $rgbColor */
$rgbColor = colority()->parse('rgb(255,255,255)');
 
/** @var HexColor|null $hexColor */
$hexColor = colority()->parse('#51B389');
 
/** @var HslColor|null $hslColor */
$hslColor = colority()->parse('hsl(168.31deg, 49.58%, 46.67%)');

Colority полегшує створення тем, аватарів користувачів та інших UI-елементів. Наприклад, ось як отримати кольори зображення у вигляді масиву об’єктів RgbColor:

// Отримати кольори із зображення
/** @var array<RgbColor> $imageColors */
$imageColors = colority()->getImageColors(
    imagePath: __DIR__.'/image-colors.png',
    desiredNumColors: 10
);

Також можна знайти схожі кольори або підібрати найкращий колір переднього плану для заданого фону:

// Отримати найкращий колір переднього плану для заданого кольору
/** @var HexColor $bestForegroundHexColor (чорний або білий) */
$bestForegroundHexColor = $hexColor->getBestForegroundColor();
 
// Отримати схожий колір
/** @var HexColor|null $similarHexColor */
$similarHexColor = colority()->getSimilarColor($hexColor);

Основні можливості

Пакет працює з PHP +8.2 і легко встановлюється через Composer:

composer require tomloprod/colority

🧑‍💻 Почати можна на GitHub: tomloprod/colority

Популярні

Logomark Logotype

Інтеграція Laravel Socialite з бібліотекою Google Client PHP

Ви хочете навчитися, як інтегрувати Google OAuth у вашому проекті Laravel, використовуючи Socialite? Дізнайтеся, як налаштувати доступ до сервісів Google, таких як Календар, у нашій сьогоднішній статті

Logomark Logotype

Laravel Boost — ваш стартовий набір для програмування з використанням штучного інтелекту

Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel

Logomark Logotype

Використання повнотекстового пошуку в Laravel

Laravel пропонує потужні можливості повнотекстового пошуку за допомогою методів whereFullText та orWhereFullText, що дозволяють здійснювати складні запити до бази даних. Дізнайтеся, як реалізувати ефективний пошук для вашого блогу чи системи управління контентом