Module: Origami::Graphics::Color
- Defined in:
- lib/origami/graphics/colors.rb
Defined Under Namespace
Modules: BlendMode, Intent, Space
Classes: CMYK, GrayScale, ICCProfile, RGB
Class Method Summary
collapse
Class Method Details
.cmyk_to_rgb(c, m, y, k) ⇒ Object
56
57
58
59
60
61
62
|
# File 'lib/origami/graphics/colors.rb', line 56
def self.cmyk_to_rgb(c, m, y, k)
r = 1 - ((c * (1 - k) + k))
g = 1 - ((m * (1 - k) + k))
b = 1 - ((y * (1 - k) + k))
[r, g, b]
end
|
.gray_to_rgb(g) ⇒ Object
64
65
66
|
# File 'lib/origami/graphics/colors.rb', line 64
def self.gray_to_rgb(g)
[g, g, g]
end
|
.to_a(color) ⇒ Object
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
# File 'lib/origami/graphics/colors.rb', line 102
def self.to_a(color)
return color if color.is_a?(::Array)
if %i[r g b].all? { |c| color.respond_to?(c) }
r = color.r.to_f / 255
g = color.g.to_f / 255
b = color.b.to_f / 255
[r, g, b]
elsif %i[c m y k].all? { |c| color.respond_to?(c) }
c = color.c
m = color.m
y = color.y
k = color.k
[c, m, y, k]
elsif color.respond_to?(:g)
g = color.g
[g]
else
raise TypeError, "Invalid color : #{color}"
end
end
|