class Camalian::Image
Load image into Camalian
Attributes
src_file_path[RW]
Public Class Methods
new(file_path)
click to toggle source
# File lib/camalian/image.rb, line 8 def initialize(file_path) @src_file_path = file_path end
Public Instance Methods
prominent_colors(count = Camalian.options[:color_count], quantization: Camalian.options[:quantization], optimal: true)
click to toggle source
# File lib/camalian/image.rb, line 12 def prominent_colors(count = Camalian.options[:color_count], quantization: Camalian.options[:quantization], optimal: true) image = ::ChunkyPNG::Image.from_file(@src_file_path) colors = image.pixels.map do |val| Color.new( ChunkyPNG::Color.r(val), ChunkyPNG::Color.g(val), ChunkyPNG::Color.b(val) ) end quantize = quantization.new palette = quantize.process(colors, count) retry_count = 1 while !optimal && palette.size < count palette = quantize.process(colors, count + retry_count) retry_count += 1 end palette end