Sha256: 4f563e8298aeb4d5d034539e4f8960073fcd68317b1bb26241356c648b04fed1
Contents?: true
Size: 837 Bytes
Versions: 1
Compression:
Stored size: 837 Bytes
Contents
require "rand_palette/version" module RandPalette Scalar = (0..255) ScalarDesc = Scalar.to_a.reverse.slice 1,254 Palette = [Scalar.map{|c| [255, c, 0] }, ScalarDesc.map{|c| [c, 255, 0] }, Scalar.map{|c| [0, 255, c] }, ScalarDesc.map{|c| [0, c, 255] }, Scalar.map{|c| [c, 0, 255] }, ScalarDesc.map{|c| [255, 0, c] }].flatten 1 def self.random n, alpha: 1 picked = rand Palette.size steps = Palette.size / n n.times.map do |t| picked = picked + steps picked = picked - Palette.size if picked >= Palette.size picked end.map do |picked| RGBA.new(Palette[picked] + [alpha]).to_s end end class RGBA def initialize rgba @rgba = rgba end def to_s "rgba(#{@rgba.join(',')})" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rand_palette-0.1.0 | lib/rand_palette.rb |