A powerful, modern, and extensible PHP library for converting color codes between various color spaces, such as RGB, HEX, and HSL. Designed with a focus on readability, scalability, and production readiness, this library is the ultimate solution for color manipulation.
Report a Bug · New Pull Request
If you like this project, give it a ⭐ and share it with your network!
✨ Versatile Color Conversions
Effortlessly convert color codes between popular formats:
- 🔄 RGB ↔ HEX
- 🔄 RGB ↔ HSL
- 🔄 HEX ↔ HSL
⚡ Modern PHP Standards
Built with PHP 8+ features for high performance and future-proof compatibility:
- 🏷️ Strict typing (
strict_types=1
) - 🛠️ Fully typed methods
🛡️ Robust Error Handling
- 🔍 Input validation with detailed exceptions
- 🛑 Catch invalid formats before they propagate
🧩 Extensible Architecture
- 📦 Add support for additional color spaces (e.g., CMYK, LAB) with ease
- 🏗️ Modular design for seamless integration
📘 Comprehensive Documentation
- 📝 Fully documented methods with standardized PHPDoc comments
- 📚 Clear usage examples
🌐 Production-Ready
- 🔒 Secure and reliable for real-world applications
- ⚙️ Optimized for maintainability and scalability
You can install the ColorCode
library using Composer. Run the following command in your terminal:
composer require ramazancetinkaya/color-code-converter
Alternatively, download the source code and include it in your project manually.
- Clone the repository:
git clone https://github.com/ramazancetinkaya/color-code-converter.git
- Include the library in your project:
require 'path/to/ColorConverter.php';
Here's how you can use the ColorConverter
class:
<?php
require 'vendor/autoload.php';
use ramazancetinkaya\ColorConverter;
$converter = new ColorConverter();
// Convert HEX to RGB
$rgb = $converter->hexToRgb('#FF5733'); // [255, 87, 51]
# echo '<pre>' . print_r($rgb, true) . '</pre>';
// Convert RGB to HEX
$hex = $converter->rgbToHex([255, 87, 51]); // "#FF5733"
# echo $hex;
// Convert RGB to HSL
$hsl = $converter->rgbToHsl([255, 87, 51]); // [10.59, 100, 60]
# echo '<pre>' . print_r($hsl, true) . '</pre>';
// Convert HSL to RGB
$rgb2 = $converter->hslToRgb([14.29, 100, 60]); // [255, 100, 51]
# echo '<pre>' . print_r($rgb2, true) . '</pre>';
// Convert HEX to HSL
$hsl2 = $converter->hexToHsl('#FF5733'); // [10.59, 100, 60]
# echo '<pre>' . print_r($hsl2, true) . '</pre>';
// Convert HSL to HEX
$hex2 = $converter->hslToHex([14.29, 100, 60]); // "#FF5733"
# echo $hex2;
Converts a HEX color string to its RGB representation.
- Parameters:
$hexColor
(string): The HEX color string (e.g.,"#FF5733"
,"FF5733"
).
- Returns:
- (array): An RGB array
[R, G, B]
with values between0-255
.
- (array): An RGB array
Converts an RGB array to a HEX color string.
- Parameters:
$rgbArray
(array): An array[R, G, B]
with values between0-255
.
- Returns:
- (string): The HEX color string (e.g.,
"#FF5733"
).
- (string): The HEX color string (e.g.,
Converts an RGB array to its HSL representation.
- Parameters:
$rgbArray
(array): An array[R, G, B]
with values between0-255
.
- Returns:
- (array): An HSL array
[H, S, L]
where:H
(Hue):0-360
S
(Saturation):0-100
(%)L
(Lightness):0-100
(%)
- (array): An HSL array
Converts an HSL array to its RGB representation.
- Parameters:
$hslArray
(array): An array[H, S, L]
where:H
(Hue):0-360
S
(Saturation):0-100
(%)L
(Lightness):0-100
(%)
- Returns:
- (array): An RGB array
[R, G, B]
with values between0-255
.
- (array): An RGB array
src/
├── ColorConverter.php
composer.json
README.md
LICENSE
This library is designed with security in mind. Input validation and error handling are implemented to prevent misuse. For vulnerabilities, please open an issue.
Contributions are welcome! Please feel free to submit a pull request or open an issue for any enhancements or bug fixes.
This project is maintained with ❤️ by:
- Ramazan Çetinkaya - Developer
- GitHub: @ramazancetinkaya
This project is licensed under the MIT License. See the LICENSE file for more details.