class Tone - RDoc Documentation

RDoc

class Tone

Класс, хранящий данные о тонировании в ввиде четырех значений: красный, зеленый, синий и насыщенность. Последнее значение влияет на цветовую насыщенность, чем ниже его значение, тем сильнее цветовые оттенки заменяются на оттенки серого. Каждое значение, кроме последнего, является рациональным числом (число с плавающей точкой) и имеет значение от -255.0 до 255.0. Значение насыщенности лежит в пределах от 0 до 255. Все значения, выходящие за указанные интервалы, корректируются автоматически.

In Files

  • cigui.rb

Parent

Object

Public Class Methods

new(r,g,b,gs=0.0) click to toggle source

Создает экземпляр класса.

  • r, g, b - задает изначальные значения красного, зеленого и синего цветов

  • gs - задает насыщенность, по умолчанию имеет значение 0

# File cigui.rb, line 491
def initialize(r,g,b,gs=0.0)
        @r,@g,@b,@gs = r.to_f,g.to_f,b.to_f,gs.to_f
        _normalize
end

Public Instance Methods

blue() click to toggle source

Возвращает значение синего цвета

# File cigui.rb, line 507
def blue
        @b
end
gray() click to toggle source

Возвращает значение насыщенности

# File cigui.rb, line 512
def gray
        @gs
end
green() click to toggle source

Возвращает значение зеленого цвета

# File cigui.rb, line 502
def green
        @g
end
red() click to toggle source

Возвращает значение красного цвета

# File cigui.rb, line 497
def red
        @r
end
set(*args) click to toggle source

Задает новые значения цвета и насыщенности.<br> Варианты параметров:

  • set(Tone) - в качестве параметра задан другой экземпляр класса Tone

Все значения цвета и прозрачности будут скопированы из него.

  • set(red, green, blue) - задает новые значения цвета.

Прозрачность по умолчанию становится равна 255.0

  • set(red, green, blue, greyscale) - задает новые значения цвета и насыщенности.

# File cigui.rb, line 523
def set(*args)
        if args.size==1
                @r,@g,@b,@gs = args[0].red,args[0].green,args[0].blue,args[0].gray
        elsif args.size==4
                @r,@g,@b,@gs = args[0],args[1],args[2],args[3]
        elsif args.size==3
                @r,@g,@b,@gs = args[0],args[1],args[2],0.0
        elsif args.size==2
                # throw error like in Rect class
        end
        _normalize
end