tecnickcom/tc-lib-color

PHP library to manipulate various color representations

Maintainers

Package info

github.com/tecnickcom/tc-lib-color

Homepage

pkg:composer/tecnickcom/tc-lib-color

Fund package maintenance!

tecnickcom

Statistics

Installs: 7 505 187

Dependents: 8

Suggesters: 0

Stars: 24

Open Issues: 0


README

PHP color toolkit for conversion and normalization across common color models.

Latest Stable Version Build Coverage License Downloads

Sponsor on GitHub

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

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.

Contact

Nicola Asuni - info@tecnick.com