Project

rgb

0.03
Low commit activity in last 3 years
A long-lived project that still receives updates
A library built to handle the easy conversion, comparison and manipulation of colors with CSS-style hex color notation.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.5.9
~> 13.1.0
~> 3.13.0
~> 0.22.0
 Project Readme

rgb — Easy colors manipulation


Gem Version

A simple Ruby library built to handle easy conversion and manipulation of colors. Inspired by compass-colors and jColour.js.

Examples

  require 'rgb'

  # ? Supported input data color formas:
  color = RGB::Color.from_rgb_hex('#333333')
  color = RGB::Color.from_rgb_hex(0xFF0000)
  color = RGB::Color.from_rgb(115, 38, 38)
  color = RGB::Color.from_fractions(0, 1.0, 0.5) # HSL

  # ? Supported color manipulations:
  color.darken(20)
  color.darken_percent(10)
  color.darken!(20)
  color.darken_percent!(10)
  color.lighten(20)
  color.lighten_percent(20)
  color.lighten!(20)
  color.lighten_percent!(20)
  color.saturate(20)
  color.saturate_percent(20)
  color.saturate!(20)
  color.saturate_percent!(20)
  color.desaturate(20)
  color.desaturate_percent(20)
  color.desaturate!(20)
  color.desaturate_percent!(20)

  color.invert!

  # ? Mixing colors:
  color.mix(other_color, 20) # ? Mix 20% of other color into current one
  color.mix(other_color) # ? 50% by default
  color.mix!(other_color, 20)
  color.mix!(other_color)

  # ? Also you can adjust color HSL (hue, saturation, and lightness values) manually:
  color.hue = 0.1
  color.saturation = 0.2
  color.lightness = 0.3

  # ? Supported output formats:
  color.to_rgb_hex
  => '#732626'
  color.to_hsl
  => [0, 1.0, 0.5]
  color.to_rgb
  => [115, 38, 38]

Support

Feel free to create issues

License

Please see LICENSE for licensing details.