-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpixelExtract.rb
More file actions
77 lines (56 loc) · 1.54 KB
/
pixelExtract.rb
File metadata and controls
77 lines (56 loc) · 1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/bin/ruby
#jpgPixelExtracter
require 'oily_png'
image = "/home/max/Desktop/Old/Untitled2.png"
png = ChunkyPNG::Image.from_file(image)
palette = ChunkyPNG::Palette.from_canvas(png)
puts png.metadata
#puts palette.best_color_settings
$colorsHTML = ChunkyPNG::Color::PREDEFINED_COLORS
$looper = 0
$found = 0
$values = []
$colorsHTML.each do |key, value|
$values.push value.to_s#.scan(/(?<=<)(.*)(?=,)/)
end
#$values = (?<=<)(.*)(?=,)
def nested(cc)
cc = cc.to_i
output = ($values.min_by {|x| (cc - x.to_i).abs})
return output
end
# puts "Yes & Color Code was exactly " + $looper.to_s + " Underneath."
# $looper = 0
# $found += 1
#puts $values.min_by {|x| (n-x).abs}
#end
$colorsUnique = []
$colorsAll = []
palette.each do |colorCode|
myCC = nested(colorCode)
$colorsUnique.push(myCC) unless $colorsUnique.include?(myCC)
$colorsAll.push(myCC)
end
####
#$colorsUnique.each do |i|
# pos = $colorsHTML.key(i.to_i)
#end
####
$colorNamesArrayAll = []
$colorsAll.each do |i|
pos = $colorsHTML.key(i.to_i)
$colorNamesArrayAll.push(pos)
#puts $colorNamesArrayAll.count(pos.to_s).to_s + " " + pos
end
puts $colorNamesArrayAll.uniq.map { |c| "#{$colorNamesArrayAll.count(c)} x #{c}"}.sort
#$colorsHTML.each do |key, value| puts colorsHTML[key,i] end
#puts colorsHTML = ChunkyPNG::Color::PREDEFINED_COLORS
#puts $found
#puts $numbers
#puts palette
#$colorsHTML.each do |key, value| puts value end
######### TODO
#GET PERCENTAGE OF COLOR BY OCCURENCE
#UNIQUE COLOR CODES REDOING
#SORT FOR NUMBER IN PREFIX
#FILTER MEANINGFUL COLORS BY OCCURENCE