Module: ColorExtractor

Defined in:
lib/juice_extractor.rb

Defined Under Namespace

Modules: Base

Class Method Summary collapse

Class Method Details

.explicit_colors(site_url, attributes = ['background-color', "border-color", 'color'], quantize = nil) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/juice_extractor.rb', line 19

def self.explicit_colors(site_url, attributes = ['background-color', "border-color", 'color'], quantize = nil)
  return {} if site_url.nil?
  phantom_script = File.expand_path(File.dirname(__FILE__) + "/juice_extractor/js/styles.phantom.js")
  val = `phantomjs #{phantom_script} #{site_url} #{ File.dirname(__FILE__) } '#{attributes.to_json}'`
  colors= Base.build_explicit_colors(val, attributes, quantize)
  colors.to_json
end

.implicit_colors(site_url, quantize = nil) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/juice_extractor.rb', line 11

def self.implicit_colors(site_url, quantize = nil)
  return [] if site_url.nil?
  image_path = Base.screenshot(site_url)
  img = Magick::ImageList.new(image_path)
  img = img.quantize(quantize) if quantize
  img.color_histogram.map{|pixel| pixel.first.to_color(Magick::AllCompliance, false, 8, true) }.to_json
end