Sha256: 43b15d82511a74066fe2035db4bf621736045904f3b484a1704f8e85346c4271
Contents?: true
Size: 901 Bytes
Versions: 4
Compression:
Stored size: 901 Bytes
Contents
# frozen_string_literal: true module Camalian # Load image into Camalian class Image attr_accessor :src_file_path def initialize(file_path) @src_file_path = file_path end 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 end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
camalian-0.2.2 | lib/camalian/image.rb |
camalian-0.2.1 | lib/camalian/image.rb |
camalian-0.2.0 | lib/camalian/image.rb |
camalian-0.1.1 | lib/camalian/image.rb |