Module: ColorExtractor
- Defined in:
- lib/juice_extractor.rb
Defined Under Namespace
Modules: Base
Class Method Summary collapse
- .explicit_colors(site_url, attributes = ['background-color', "border-color", 'color'], quantize = nil) ⇒ Object
- .implicit_colors(site_url, quantize = nil) ⇒ Object
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.(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 |