tecnickcom/tc-lib-color
PHP library to manipulate various color representations
Maintainers
Fund package maintenance!
Requires
- php: >=8.2
- ext-pcre: *
Requires (Dev)
- pdepend/pdepend: ^2.16
- phpunit/phpunit: ^11.5 || ^12.5 || ^13.2
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-06-17 18:00:59 UTC
README
PHP color toolkit for conversion and normalization across common color models.
👁 Latest Stable Version
👁 Build
👁 Coverage
👁 License
👁 Downloads
If this project is useful to you, please consider supporting development via GitHub Sponsors.
Overview
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 |
Features
Color Models
- 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
Integration Helpers
- CSS-ready color output
- PDF-oriented color conversion helpers
- Cross-model conversion helpers on all color models
- Named web color lookup and normalization
Requirements
- PHP 8.2 or later
- Extension:
pcre - Composer
Installation
composer require tecnickcom/tc-lib-color
Quick Start
<?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.
Development
make deps
make help
make qa
make server
Run make server and open http://127.0.0.1:8000/example/index.php to check the example in a browser.
Packaging
make rpm make deb
For system packages, bootstrap with:
require_once '/usr/share/php/Com/Tecnick/Color/autoload.php';
Contributing
Contributions are welcome. Please review CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md.
