class Color::YIQ

A colour object representing YIQ (NTSC) colour encoding.

Public Class Methods

from_fraction(y = 0, i = 0, q = 0, &block) click to toggle source

Creates a YIQ colour object from fractional values 0 .. 1.

Color::YIQ.new(0.3, 0.2, 0.1)
# File lib/color/yiq.rb, line 8
def self.from_fraction(y = 0, i = 0, q = 0, &block)
  new(y, i, q, 1.0, &block)
end
new(y = 0, i = 0, q = 0, radix = 100.0, &block) click to toggle source

Creates a YIQ colour object from percentages 0 .. 100.

Color::YIQ.new(10, 20, 30)
# File lib/color/yiq.rb, line 15
def initialize(y = 0, i = 0, q = 0, radix = 100.0, &block) # :yields self:
  @y, @i, @q = [ y, i, q ].map { |v| Color.normalize(v / radix) }
  block.call if block
end

Public Instance Methods

brightness() click to toggle source
# File lib/color/yiq.rb, line 28
def brightness
  @y
end
coerce(other) click to toggle source
# File lib/color/yiq.rb, line 20
def coerce(other)
  other.to_yiq
end
i() click to toggle source
# File lib/color/yiq.rb, line 42
def i
  @i
end
i=(ii) click to toggle source
# File lib/color/yiq.rb, line 45
def i=(ii)
  @i = Color.normalize(ii)
end
inspect() click to toggle source
# File lib/color/yiq.rb, line 55
def inspect
  "YIQ [%.2f%%, %.2f%%, %.2f%%]" % [ @y * 100, @i * 100, @q * 100 ]
end
q() click to toggle source
# File lib/color/yiq.rb, line 48
def q
  @q
end
q=(qq) click to toggle source
# File lib/color/yiq.rb, line 51
def q=(qq)
  @q = Color.normalize(qq)
end
to_a() click to toggle source
# File lib/color/yiq.rb, line 59
def to_a
  [ y, i, q ]
end
to_grayscale() click to toggle source
# File lib/color/yiq.rb, line 31
def to_grayscale
  Color::GrayScale.new(@y)
end
Also aliased as: to_greyscale
to_greyscale()
Alias for: to_grayscale
to_yiq() click to toggle source
# File lib/color/yiq.rb, line 24
def to_yiq
  self
end
y() click to toggle source
# File lib/color/yiq.rb, line 36
def y
  @y
end
y=(yy) click to toggle source
# File lib/color/yiq.rb, line 39
def y=(yy)
  @y = Color.normalize(yy)
end