Sha256: 0b2c2e28741ec3fe48137d7921ef0b1e7a1e7bee0bf842da4dfbffdc47a12dd4
Contents?: true
Size: 645 Bytes
Versions: 3
Compression:
Stored size: 645 Bytes
Contents
module ColorConversion class CmykConverter < ColorConverter def self.matches?(color) return false unless color.kind_of?(Hash) color.include?(:c) && color.include?(:m) && color.include?(:y) && color.include?(:k) end private def to_rgba(cmyk) c = cmyk[:c].to_f / 100.0 m = cmyk[:m].to_f / 100.0 y = cmyk[:y].to_f / 100.0 k = cmyk[:k].to_f / 100.0 r = (255 * (1.0 - [1.0, c * (1.0 - k) + k].min)).round g = (255 * (1.0 - [1.0, m * (1.0 - k) + k].min)).round b = (255 * (1.0 - [1.0, y * (1.0 - k) + k].min)).round {r: r, g: g, b: b, a: 1.0} end end end
Version data entries
3 entries across 3 versions & 1 rubygems