Class Color::RGB
In: lib/color.rb
lib/color/rgb-colors.rb
lib/color/rgb.rb
Parent: Object
Enumerable Gimp CMYK\n[lib/color.rb\nlib/color/cmyk.rb] GrayScale\n[lib/color.rb\nlib/color/grayscale.rb] RGB\n[lib/color.rb\nlib/color/rgb-colors.rb\nlib/color/rgb.rb] YIQ\n[lib/color.rb\nlib/color/yiq.rb] HSL MonoContrast lib/color/cmyk.rb lib/color/grayscale.rb lib/color/rgb.rb lib/color/yiq.rb lib/color/hsl.rb CSS lib/color/palette/gimp.rb lib/color/palette/monocontrast.rb Palette Color dot/m_9_0.png

An RGB colour object.

Methods

Classes and Modules

Module Color::RGB::Metallic

Constants

AliceBlue = Color::RGB.new(0xf0, 0xf8, 0xff).freeze
AntiqueWhite = Color::RGB.new(0xfa, 0xeb, 0xd7).freeze
Aqua = Color::RGB.new(0x00, 0xff, 0xff).freeze
Aquamarine = Color::RGB.new(0x7f, 0xff, 0xd4).freeze
Azure = Color::RGB.new(0xf0, 0xff, 0xff).freeze
Beige = Color::RGB.new(0xf5, 0xf5, 0xdc).freeze
Bisque = Color::RGB.new(0xff, 0xe4, 0xc4).freeze
Black = Color::RGB.new(0, 0, 0).freeze
BlanchedAlmond = Color::RGB.new(0xff, 0xeb, 0xcd).freeze
Blue = Color::RGB.new(0x00, 0x00, 0xff).freeze
BlueViolet = Color::RGB.new(0x8a, 0x2b, 0xe2).freeze
Brown = Color::RGB.new(0xa5, 0x2a, 0x2a).freeze
Burlywood = Color::RGB.new(0xde, 0xb8, 0x87).freeze
BurlyWood = Burlywood
CadetBlue = Color::RGB.new(0x5f, 0x9e, 0xa0).freeze
Chartreuse = Color::RGB.new(0x7f, 0xff, 0x00).freeze
Chocolate = Color::RGB.new(0xd2, 0x69, 0x1e).freeze
Coral = Color::RGB.new(0xff, 0x7f, 0x50).freeze
CornflowerBlue = Color::RGB.new(0x64, 0x95, 0xed).freeze
Cornsilk = Color::RGB.new(0xff, 0xf8, 0xdc).freeze
Crimson = Color::RGB.new(0xdc, 0x14, 0x3c).freeze
Cyan = Color::RGB.new(0x00, 0xff, 0xff).freeze
DarkBlue = Color::RGB.new(0x00, 0x00, 0x8b).freeze
DarkCyan = Color::RGB.new(0x00, 0x8b, 0x8b).freeze
DarkGoldenrod = Color::RGB.new(0xb8, 0x86, 0x0b).freeze
DarkGoldenRod = DarkGoldenrod
DarkGray = Color::RGB.new(0xa9, 0xa9, 0xa9).freeze
DarkGreen = Color::RGB.new(0x00, 0x64, 0x00).freeze
DarkGrey = DarkGray
DarkKhaki = Color::RGB.new(0xbd, 0xb7, 0x6b).freeze
DarkMagenta = Color::RGB.new(0x8b, 0x00, 0x8b).freeze
DarkoliveGreen = Color::RGB.new(0x55, 0x6b, 0x2f).freeze
DarkOliveGreen = DarkoliveGreen
Darkorange = Color::RGB.new(0xff, 0x8c, 0x00).freeze
DarkOrange = Darkorange
DarkOrchid = Color::RGB.new(0x99, 0x32, 0xcc).freeze
DarkRed = Color::RGB.new(0x8b, 0x00, 0x00).freeze
Darksalmon = Color::RGB.new(0xe9, 0x96, 0x7a).freeze
DarkSalmon = Darksalmon
DarkSeaGreen = Color::RGB.new(0x8f, 0xbc, 0x8f).freeze
DarkSlateBlue = Color::RGB.new(0x48, 0x3d, 0x8b).freeze
DarkSlateGray = Color::RGB.new(0x2f, 0x4f, 0x4f).freeze
DarkSlateGrey = DarkSlateGray
DarkTurquoise = Color::RGB.new(0x00, 0xce, 0xd1).freeze
DarkViolet = Color::RGB.new(0x94, 0x00, 0xd3).freeze
DeepPink = Color::RGB.new(0xff, 0x14, 0x93).freeze
DeepSkyBlue = Color::RGB.new(0x00, 0xbf, 0xbf).freeze
DimGray = Color::RGB.new(0x69, 0x69, 0x69).freeze
DimGrey = DimGray
DodgerBlue = Color::RGB.new(0x1e, 0x90, 0xff).freeze
Feldspar = Color::RGB.new(0xd1, 0x92, 0x75).freeze
Firebrick = Color::RGB.new(0xb2, 0x22, 0x22).freeze
FireBrick = Firebrick
FloralWhite = Color::RGB.new(0xff, 0xfa, 0xf0).freeze
ForestGreen = Color::RGB.new(0x22, 0x8b, 0x22).freeze
Fuchsia = Color::RGB.new(0xff, 0x00, 0xff).freeze
Gainsboro = Color::RGB.new(0xdc, 0xdc, 0xdc).freeze
GhostWhite = Color::RGB.new(0xf8, 0xf8, 0xff).freeze
Gold = Color::RGB.new(0xff, 0xd7, 0x00).freeze
Goldenrod = Color::RGB.new(0xda, 0xa5, 0x20).freeze
GoldenRod = Goldenrod
Gray = Color::RGB.new(0x80, 0x80, 0x80).freeze
Green = Color::RGB.new(0x00, 0x80, 0x00).freeze
GreenYellow = Color::RGB.new(0xad, 0xff, 0x2f).freeze
Grey = Gray
Honeydew = Color::RGB.new(0xf0, 0xff, 0xf0).freeze
HoneyDew = Honeydew
HotPink = Color::RGB.new(0xff, 0x69, 0xb4).freeze
IndianRed = Color::RGB.new(0xcd, 0x5c, 0x5c).freeze
Indigo = Color::RGB.new(0x4b, 0x00, 0x82).freeze
Ivory = Color::RGB.new(0xff, 0xff, 0xf0).freeze
Khaki = Color::RGB.new(0xf0, 0xe6, 0x8c).freeze
Lavender = Color::RGB.new(0xe6, 0xe6, 0xfa).freeze
LavenderBlush = Color::RGB.new(0xff, 0xf0, 0xf5).freeze
LawnGreen = Color::RGB.new(0x7c, 0xfc, 0x00).freeze
LemonChiffon = Color::RGB.new(0xff, 0xfa, 0xcd).freeze
LightBlue = Color::RGB.new(0xad, 0xd8, 0xe6).freeze
LightCoral = Color::RGB.new(0xf0, 0x80, 0x80).freeze
LightCyan = Color::RGB.new(0xe0, 0xff, 0xff).freeze
LightGoldenrodYellow = Color::RGB.new(0xfa, 0xfa, 0xd2).freeze
LightGoldenRodYellow = LightGoldenrodYellow
LightGray = Color::RGB.new(0xd3, 0xd3, 0xd3).freeze
LightGreen = Color::RGB.new(0x90, 0xee, 0x90).freeze
LightGrey = LightGray
LightPink = Color::RGB.new(0xff, 0xb6, 0xc1).freeze
Lightsalmon = Color::RGB.new(0xff, 0xa0, 0x7a).freeze
LightSalmon = Lightsalmon
LightSeaGreen = Color::RGB.new(0x20, 0xb2, 0xaa).freeze
LightSkyBlue = Color::RGB.new(0x87, 0xce, 0xfa).freeze
LightSlateBlue = Color::RGB.new(0x84, 0x70, 0xff).freeze
LightSlateGray = Color::RGB.new(0x77, 0x88, 0x99).freeze
LightSlateGrey = LightSlateGray
LightsteelBlue = Color::RGB.new(0xb0, 0xc4, 0xde).freeze
LightSteelBlue = LightsteelBlue
LightYellow = Color::RGB.new(0xff, 0xff, 0xe0).freeze
Lime = Color::RGB.new(0x00, 0xff, 0x00).freeze
LimeGreen = Color::RGB.new(0x32, 0xcd, 0x32).freeze
Linen = Color::RGB.new(0xfa, 0xf0, 0xe6).freeze
Magenta = Color::RGB.new(0xff, 0x00, 0xff).freeze
Maroon = Color::RGB.new(0x80, 0x00, 0x00).freeze
MediumAquamarine = Color::RGB.new(0x66, 0xcd, 0xaa).freeze
MediumAquaMarine = MediumAquamarine
MediumBlue = Color::RGB.new(0x00, 0x00, 0xcd).freeze
MediumOrchid = Color::RGB.new(0xba, 0x55, 0xd3).freeze
MediumPurple = Color::RGB.new(0x93, 0x70, 0xdb).freeze
MediumSeaGreen = Color::RGB.new(0x3c, 0xb3, 0x71).freeze
MediumSlateBlue = Color::RGB.new(0x7b, 0x68, 0xee).freeze
MediumSpringGreen = Color::RGB.new(0x00, 0xfa, 0x9a).freeze
MediumTurquoise = Color::RGB.new(0x48, 0xd1, 0xcc).freeze
MediumVioletRed = Color::RGB.new(0xc7, 0x15, 0x85).freeze
MidnightBlue = Color::RGB.new(0x19, 0x19, 0x70).freeze
MintCream = Color::RGB.new(0xf5, 0xff, 0xfa).freeze
MistyRose = Color::RGB.new(0xff, 0xe4, 0xe1).freeze
Moccasin = Color::RGB.new(0xff, 0xe4, 0xb5).freeze
NavajoWhite = Color::RGB.new(0xff, 0xde, 0xad).freeze
Navy = Color::RGB.new(0x00, 0x00, 0x80).freeze
OldLace = Color::RGB.new(0xfd, 0xf5, 0xe6).freeze
Olive = Color::RGB.new(0x80, 0x80, 0x00).freeze
Olivedrab = Color::RGB.new(0x6b, 0x8e, 0x23).freeze
OliveDrab = Olivedrab
Orange = Color::RGB.new(0xff, 0xa5, 0x00).freeze
OrangeRed = Color::RGB.new(0xff, 0x45, 0x00).freeze
Orchid = Color::RGB.new(0xda, 0x70, 0xd6).freeze
PaleGoldenrod = Color::RGB.new(0xee, 0xe8, 0xaa).freeze
PaleGoldenRod = PaleGoldenrod
PaleGreen = Color::RGB.new(0x98, 0xfb, 0x98).freeze
PaleTurquoise = Color::RGB.new(0xaf, 0xee, 0xee).freeze
PaleVioletRed = Color::RGB.new(0xdb, 0x70, 0x93).freeze
PapayaWhip = Color::RGB.new(0xff, 0xef, 0xd5).freeze
Peachpuff = Color::RGB.new(0xff, 0xda, 0xb9).freeze
PeachPuff = Peachpuff
Peru = Color::RGB.new(0xcd, 0x85, 0x3f).freeze
Pink = Color::RGB.new(0xff, 0xc0, 0xcb).freeze
Plum = Color::RGB.new(0xdd, 0xa0, 0xdd).freeze
PowderBlue = Color::RGB.new(0xb0, 0xe0, 0xe6).freeze
Purple = Color::RGB.new(0x80, 0x00, 0x80).freeze
Red = Color::RGB.new(0xff, 0x00, 0x00).freeze
RosyBrown = Color::RGB.new(0xbc, 0x8f, 0x8f).freeze
RoyalBlue = Color::RGB.new(0x41, 0x69, 0xe1).freeze
SaddleBrown = Color::RGB.new(0x8b, 0x45, 0x13).freeze
Salmon = Color::RGB.new(0xfa, 0x80, 0x72).freeze
SandyBrown = Color::RGB.new(0xf4, 0xa4, 0x60).freeze
SeaGreen = Color::RGB.new(0x2e, 0x8b, 0x57).freeze
Seashell = Color::RGB.new(0xff, 0xf5, 0xee).freeze
SeaShell = Seashell
Sienna = Color::RGB.new(0xa0, 0x52, 0x2d).freeze
Silver = Color::RGB.new(0xc0, 0xc0, 0xc0).freeze
SkyBlue = Color::RGB.new(0x87, 0xce, 0xeb).freeze
SlateBlue = Color::RGB.new(0x6a, 0x5a, 0xcd).freeze
SlateGray = Color::RGB.new(0x70, 0x80, 0x90).freeze
SlateGrey = SlateGray
Snow = Color::RGB.new(0xff, 0xfa, 0xfa).freeze
SpringGreen = Color::RGB.new(0x00, 0xff, 0x7f).freeze
SteelBlue = Color::RGB.new(0x46, 0x82, 0xb4).freeze
Tan = Color::RGB.new(0xd2, 0xb4, 0x8c).freeze
Teal = Color::RGB.new(0x00, 0x80, 0x80).freeze
Thistle = Color::RGB.new(0xd8, 0xbf, 0xd8).freeze
Tomato = Color::RGB.new(0xff, 0x63, 0x47).freeze
Turquoise = Color::RGB.new(0x40, 0xe0, 0xd0).freeze
Violet = Color::RGB.new(0xee, 0x82, 0xee).freeze
VioletRed = Color::RGB.new(0xd0, 0x20, 0x90).freeze
Wheat = Color::RGB.new(0xf5, 0xde, 0xb3).freeze
White = Color::RGB.new(0xff, 0xff, 0xff).freeze
WhiteSmoke = Color::RGB.new(0xf5, 0xf5, 0xf5).freeze
Yellow = Color::RGB.new(0xff, 0xff, 0x00).freeze
YellowGreen = Color::RGB.new(0x9a, 0xcd, 0x32).freeze
Gray10 = Grey10 = Color::RGB.from_percentage(10, 10, 10).freeze
Gray20 = Grey20 = Color::RGB.from_percentage(20, 20, 20).freeze
Gray30 = Grey30 = Color::RGB.from_percentage(30, 30, 30).freeze
Gray40 = Grey40 = Color::RGB.from_percentage(40, 40, 40).freeze
Gray50 = Grey50 = Color::RGB.from_percentage(50, 50, 50).freeze
Gray60 = Grey60 = Color::RGB.from_percentage(60, 60, 60).freeze
Gray70 = Grey70 = Color::RGB.from_percentage(70, 70, 70).freeze
Gray80 = Grey80 = Color::RGB.from_percentage(80, 80, 80).freeze
Gray90 = Grey90 = Color::RGB.from_percentage(90, 90, 90).freeze
PDF_FORMAT_STR = "%.3f %.3f %.3f %s"   The format of a DeviceRGB colour for PDF. In color-tools 2.0 this will be removed from this package and added back as a modification by the PDF::Writer package.

Attributes

b  [RW] 
g  [RW] 
r  [RW] 

Public Class methods

Creates an RGB colour object from fractional values 0..1.

  Color::RGB.from_fraction(.3, .2, .1)

[Source]

    # File lib/color/rgb.rb, line 30
30:     def from_fraction(r = 0.0, g = 0.0, b = 0.0)
31:       colour = Color::RGB.new
32:       colour.r = r
33:       colour.g = g
34:       colour.b = b
35:       colour
36:     end

Creates an RGB colour object from an HTML colour descriptor (e.g., "fed" or "cabbed;".

  Color::RGB.from_html("fed")
  Color::RGB.from_html("#fed")
  Color::RGB.from_html("#cabbed")
  Color::RGB.from_html("cabbed")

[Source]

    # File lib/color/rgb.rb, line 45
45:     def from_html(html_colour)
46:       html_colour = html_colour.gsub(%r{[#;]}, '')
47:       case html_colour.size 
48:       when 3
49:         colours = html_colour.scan(%r{[0-9A-Fa-f]}).map { |el| (el * 2).to_i(16) }
50:       when 6
51:         colours = html_colour.scan(%r<[0-9A-Fa-f]{2}>).map { |el| el.to_i(16) }
52:       else
53:         raise ArgumentError
54:       end
55: 
56:       Color::RGB.new(*colours)
57:     end

Creates an RGB colour object from percentages 0..100.

  Color::RGB.from_percentage(10, 20 30)

[Source]

    # File lib/color/rgb.rb, line 23
23:     def from_percentage(r = 0, g = 0, b = 0)
24:       from_fraction(r / 100.0, g / 100.0, b / 100.0)
25:     end

Creates an RGB colour object from the standard range 0..255.

  Color::RGB.new(32, 64, 128)
  Color::RGB.new(0x20, 0x40, 0x80)

[Source]

    # File lib/color/rgb.rb, line 79
79:   def initialize(r = 0, g = 0, b = 0)
80:     @r = r / 255.0
81:     @g = g / 255.0
82:     @b = b / 255.0
83:   end

Public Instance methods

Compares the other colour to this one. The other colour will be converted to RGB before comparison, so the comparison between a RGB colour and a non-RGB colour will be approximate and based on the other colour‘s default to_rgb conversion. If there is no to_rgb conversion, this will raise an exception. This will report that two RGB colours are equivalent if all component values are within 1e-4 (0.0001) of each other.

[Source]

    # File lib/color/rgb.rb, line 67
67:   def ==(other)
68:     other = other.to_rgb
69:     other.kind_of?(Color::RGB) and
70:     ((@r - other.r).abs <= 1e-4) and
71:     ((@g - other.g).abs <= 1e-4) and
72:     ((@b - other.b).abs <= 1e-4)
73:   end

Returns a new colour with the brightness adjusted by the specified percentage. Negative percentages will darken the colour; positive percentages will brighten the colour.

  Color::RGB::DarkBlue.adjust_brightness(10)
  Color::RGB::DarkBlue.adjust_brightness(-10)

[Source]

     # File lib/color/rgb.rb, line 247
247:   def adjust_brightness(percent)
248:     percent /= 100.0
249:     percent += 1.0
250:     percent  = [ percent, 2.0 ].min
251:     percent  = [ 0.0, percent ].max
252: 
253:     hsl      = to_hsl
254:     hsl.l   *= percent
255:     hsl.to_rgb
256:   end

Returns a new colour with the hue adjusted by the specified percentage. Negative percentages will reduce the hue; positive percentages will increase the hue.

  Color::RGB::DarkBlue.adjust_hue(10)
  Color::RGB::DarkBlue.adjust_hue(-10)

[Source]

     # File lib/color/rgb.rb, line 281
281:   def adjust_hue(percent)
282:     percent  /= 100.0
283:     percent  += 1.0
284:     percent  = [ percent, 2.0 ].min
285:     percent  = [ 0.0, percent ].max
286: 
287:     hsl      = to_hsl
288:     hsl.h   *= percent
289:     hsl.to_rgb
290:   end

Returns a new colour with the saturation adjusted by the specified percentage. Negative percentages will reduce the saturation; positive percentages will increase the saturation.

  Color::RGB::DarkBlue.adjust_saturation(10)
  Color::RGB::DarkBlue.adjust_saturation(-10)

[Source]

     # File lib/color/rgb.rb, line 264
264:   def adjust_saturation(percent)
265:     percent  /= 100.0
266:     percent  += 1.0
267:     percent  = [ percent, 2.0 ].min
268:     percent  = [ 0.0, percent ].max
269: 
270:     hsl      = to_hsl
271:     hsl.s   *= percent
272:     hsl.to_rgb
273:   end

Returns the brightness value for a colour, a number between 0..1. Based on the Y value of YIQ encoding, representing luminosity, or perceived brightness.

This may be modified in a future version of color-tools to use the luminosity value of HSL.

[Source]

     # File lib/color/rgb.rb, line 232
232:   def brightness
233:     to_yiq.y
234:   end

Mix the RGB hue with Black so that the RGB hue is the specified percentage of the resulting colour. Strictly speaking, this isn‘t a darken_by operation.

[Source]

     # File lib/color/rgb.rb, line 209
209:   def darken_by(percent)
210:     mix_with(Black, percent)
211:   end

Present the colour as an HTML/CSS colour string.

[Source]

     # File lib/color/rgb.rb, line 98
 98:   def html
 99:     r = (@r * 255).round
100:     r = 255 if r > 255
101: 
102:     g = (@g * 255).round
103:     g = 255 if g > 255
104: 
105:     b = (@b * 255).round
106:     b = 255 if b > 255
107: 
108:     "#%02x%02x%02x" % [ r, g, b ]
109:   end

Mix the RGB hue with White so that the RGB hue is the specified percentage of the resulting colour. Strictly speaking, this isn‘t a darken_by operation.

[Source]

     # File lib/color/rgb.rb, line 202
202:   def lighten_by(percent)
203:     mix_with(White, percent)
204:   end

Mix the mask colour (which must be an RGB object) with the current colour at the stated opacity percentage (0..100).

[Source]

     # File lib/color/rgb.rb, line 215
215:   def mix_with(mask, opacity)
216:     opacity /= 100.0
217:     rgb = self.dup
218:     
219:     rgb.r = (@r * opacity) + (mask.r * (1 - opacity))
220:     rgb.g = (@g * opacity) + (mask.g * (1 - opacity))
221:     rgb.b = (@b * opacity) + (mask.b * (1 - opacity))
222: 
223:     rgb
224:   end

Present the colour as a DeviceRGB fill colour string for PDF. This will be removed from the default package in color-tools 2.0.

[Source]

    # File lib/color/rgb.rb, line 87
87:   def pdf_fill
88:     PDF_FORMAT_STR % [ @r, @g, @b, "rg" ]
89:   end

Present the colour as a DeviceRGB stroke colour string for PDF. This will be removed from the default package in color-tools 2.0.

[Source]

    # File lib/color/rgb.rb, line 93
93:   def pdf_stroke
94:     PDF_FORMAT_STR % [ @r, @g, @b, "RG" ]
95:   end

Converts the RGB colour to CMYK. Most colour experts strongly suggest that this is not a good idea (some even suggesting that it‘s a very bad idea). CMYK represents additive percentages of inks on white paper, whereas RGB represents mixed colour intensities on a black screen.

However, the colour conversion can be done. The basic method is multi-step:

  1. Convert the R, G, and B components to C, M, and Y components.
     c = 1.0 – r
     m = 1.0 – g
     y = 1.0 – b
    
  2. Compute the minimum amount of black (K) required to smooth the colour in inks.
     k = min(c, m, y)
    
  3. Perform undercolour removal on the C, M, and Y components of the colours because less of each colour is needed for each bit of black. Also, regenerate the black (K) based on the undercolour removal so that the colour is more accurately represented in ink.
     c = min(1.0, max(0.0, c – UCR(k)))
     m = min(1.0, max(0.0, m – UCR(k)))
     y = min(1.0, max(0.0, y – UCR(k)))
     k = min(1.0, max(0.0, BG(k)))
    

The undercolour removal function and the black generation functions return a value based on the brightness of the RGB colour.

[Source]

     # File lib/color/rgb.rb, line 138
138:   def to_cmyk
139:     c = 1.0 - @r.to_f
140:     m = 1.0 - @g.to_f
141:     y = 1.0 - @b.to_f
142: 
143:     k = [c, m, y].min
144:     k = k - (k * brightness)
145: 
146:     c = [1.0, [0.0, c - k].max].min
147:     m = [1.0, [0.0, m - k].max].min
148:     y = [1.0, [0.0, y - k].max].min
149:     k = [1.0, [0.0, k].max].min
150: 
151:     Color::CMYK.from_fraction(c, m, y, k)
152:   end

[Source]

     # File lib/color/rgb.rb, line 235
235:   def to_grayscale
236:     Color::GrayScale.from_fraction(to_hsl.l)
237:   end
to_greyscale()

Alias for to_grayscale

Returns the HSL colour encoding of the RGB value.

[Source]

     # File lib/color/rgb.rb, line 167
167:   def to_hsl
168:     min   = [ @r, @g, @b ].min
169:     max   = [ @r, @g, @b ].max
170:     delta = (max - min).to_f
171: 
172:     lum   = (max + min) / 2.0
173: 
174:     if delta <= 1e-5  # close to 0.0, so it's a grey
175:       hue = 0
176:       sat = 0
177:     else
178:       if (lum - 0.5) <= 1e-5
179:         sat = delta / (max + min).to_f
180:       else
181:         sat = delta / (2 - max - min).to_f
182:       end
183: 
184:       if @r == max
185:         hue = (@g - @b) / delta.to_f
186:       elsif @g == max
187:         hue = (2.0 + @b - @r) / delta.to_f
188:       elsif (@b - max) <= 1e-5
189:         hue = (4.0 + @r - @g) / delta.to_f
190:       end
191:       hue /= 6.0
192: 
193:       hue += 1 if hue < 0
194:       hue -= 1 if hue > 1
195:     end
196:     Color::HSL.from_fraction(hue, sat, lum)
197:   end

[Source]

     # File lib/color/rgb.rb, line 154
154:   def to_rgb(ignored = nil)
155:     self
156:   end

Returns the YIQ (NTSC) colour encoding of the RGB value.

[Source]

     # File lib/color/rgb.rb, line 159
159:   def to_yiq
160:     y = (@r * 0.299) + (@g *  0.587) + (@b *  0.114)
161:     i = (@r * 0.596) + (@g * -0.275) + (@b * -0.321)
162:     q = (@r * 0.212) + (@g * -0.523) + (@b *  0.311)
163:     Color::YIQ.from_fraction(y, i, q)
164:   end

[Validate]