zeek/color

A micro PHP package to convert and alter colors! 🌈

1.3.1 2022-04-11 11:24 UTC

This package is auto-updated.

Last update: 2024-04-11 16:23:38 UTC


README

687474703a2f2f6c697175696470696e656170706c652e6f2e6175726f72616f626a656374732e65752f696d672f636f6c6f722e6a7067

Build Status StyleCI 68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f6c697175696470696e656170706c652f636f6c6f722f6261646765732f636f7665726167652e737667

Stories in Ready Stories in Progress Stories in Done

A micro PHP package to convert and alter colors! 🔥

Contents of this document:

Installation

You can install this package through composer. To install the latest version in to your project use the following command:

composer require liquidpineapple/color

This package requires PHP 7.0 or higher.

Documentation

Table of contents:

  1. Conversion

    b) Output

    a) Types

  2. Alteration

    a) Lightness

    b) Saturation

1. Conversion

You can use this package to convert colors to different notations. An example might be converting HEX to RGB:

<?php

use Liquidpineapple\Color;

$rgbColor = Color::fromHEX('#1E90FF')->toRGB();
// [30, 144, 255]

1a. Output

In some cases you might want an output like rgb(30, 144, 255). This can be done using the following method:

<?php

use Liquidpineapple\Color;

$rgbColor = Color::fromHEX('#1E90FF')->toRGBString();
// rgb(30, 144, 255)

1b. Types

You can convert from the following types:

  • HEX: fromHEX($hex)
  • RGB: fromHEX($red, $green, $blue)
  • HSL: fromHSL($hue, $saturation, $lightness)
  • HSV: fromHSV($hue, $saturation, $value)

To the following types

  • HEX: toHEX() & toHEXString() (alias of toHEX())
  • RGB: toRGB() & toRGBString()
  • HSL: toHSL() & toHSLString()
  • HSV: toHSV() & toHSVString()

2. Alteration

Sometimes just conversion isn't enough, in some cases you might want to darken or saturate a color. Luckily, this is a breeze with this package.

2a. Lightness

You can alter the lightness of the color using the following methods:

  • lighten($amount)
  • darken($amount)

The amount in both message is a percentage. An example:

<?php

use Liquidpineapple\Color;

$primaryColor = '#1E90FF';

$secondaryColor = Color::fromHEX('#1E90FF')->darken(10)->toHEX();
// #2A8FF4

2b. Saturation

Just as with lightness you can alter the saturation of a given color. This can be done using the following methods:

  • saturate($amount)
  • desaturate($amount)

The amount in both message is a percentage. An example:

<?php

use Liquidpineapple\Color;

$dullColor = '#C44';

$exitingColor = Color::fromHEX('#C44')->saturate(10)->toHEX();
// #D33C3C

Contributing

Did we miss something, or do you have cool ideas? Feel free to contribute!

How to contribute:

  1. Fork this repository.
  2. Write code (with comments).
  3. Write tests (100% coverage).
  4. Create a pull-request.
  5. Profit!