PHP color toolkit for conversion and normalization across common color models.
If this project is useful to you, please consider supporting development via GitHub Sponsors.
tc-lib-color provides utilities for parsing, converting, and formatting color values used in web and PDF rendering pipelines.
The library is designed to centralize color logic so applications avoid ad-hoc conversion code and rounding drift across modules. It provides a consistent normalization layer that helps keep visual output aligned between browser previews and final PDF rendering.
| Namespace | \Com\Tecnick\Color |
| Author | Nicola Asuni info@tecnick.com |
| License | GNU LGPL v3 - see LICENSE |
| API docs | https://tcpdf.org/docs/srcdoc/tc-lib-color |
| Packagist | https://packagist.org/packages/tecnickcom/tc-lib-color |
- Grayscale (GRAY)
- RGB/RGBA and hexadecimal color handling (RGB)
- HSL/HSLA conversion workflows (HSL)
- CMYK conversion workflows (CMYK)
- CIE Lab color handling and conversion workflows (LAB)
- Spot colors (Separation), with DeviceCMYK and Lab alternate color-space support for PDF output
- CSS-ready color output
- PDF-oriented color conversion helpers
- Cross-model conversion helpers on all color models
- Named web color lookup and normalization
- PHP 8.2 or later
- Extension:
pcre - Composer
composer require tecnickcom/tc-lib-color<?php
require_once __DIR__ . '/vendor/autoload.php';
$web = new \Com\Tecnick\Color\Web();
$rgb = $web->getRgbObjFromHex('#336699');
echo $rgb->getCssColor();See example/index.php for a complete conversion showcase.
make deps
make help
make qa
make serverRun make server and open http://127.0.0.1:8000/example/index.php to check the example in a browser.
make rpm
make debFor system packages, bootstrap with:
require_once '/usr/share/php/Com/Tecnick/Color/autoload.php';Contributions are welcome. Please review CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md.