pxlsrt 1.8.0 → 1.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pxlsrt/colors.rb +33 -25
- data/lib/pxlsrt/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f915f6a50a406234a4f1c274cde03d3bc48b6cd1
|
4
|
+
data.tar.gz: 8bfbb3d85700fb157eaede9f2c25ecec7e0b8a24
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ace76e75cfb0c2f928ca5f66817074e8f01464a07c8fd189bfa736ef20307b0b0cd1015b08ae1d638b9003f83acac508f0ad166beed4846083cc809597f32e7e
|
7
|
+
data.tar.gz: 2ab1738d82add3b876efe9efd5bb9897ccd4958f1ab06939a564e37ff01545516ecee9b28dd02cd3c6beae6e7a709c6fe3c25a8bce1350364d1cae0addabbe29
|
data/lib/pxlsrt/colors.rb
CHANGED
@@ -6,7 +6,7 @@ module Pxlsrt
|
|
6
6
|
class Colors
|
7
7
|
##
|
8
8
|
# List of sorting methods.
|
9
|
-
METHODS = ["sum-rgb", "red", "green", "blue", "sum-hsb", "hue", "saturation", "brightness", "uniqueness", "luma", "random", "cyan", "magenta", "yellow", "alpha", "sum-rgba", "sum-hsba"]
|
9
|
+
METHODS = ["sum-rgb", "red", "green", "blue", "sum-hsb", "hue", "saturation", "brightness", "uniqueness", "luma", "random", "cyan", "magenta", "yellow", "alpha", "sum-rgba", "sum-hsba", "none"]
|
10
10
|
##
|
11
11
|
# Converts a ChunkyPNG pixel into an array of the red, green, blue, and alpha values
|
12
12
|
def self.getRGBA(pxl)
|
@@ -72,55 +72,63 @@ module Pxlsrt
|
|
72
72
|
# * luma
|
73
73
|
# * random
|
74
74
|
# * alpha
|
75
|
+
# * none
|
75
76
|
def self.pixelSort(list, how, reverse)
|
76
77
|
mhm=[]
|
77
78
|
Pxlsrt::Helpers.error(list) if list.length == 0
|
79
|
+
if reverse == 0
|
80
|
+
k = 1
|
81
|
+
elsif reverse == 1
|
82
|
+
k = -1
|
83
|
+
else
|
84
|
+
k = [-1, 1].sample
|
85
|
+
end
|
78
86
|
case how.downcase
|
79
87
|
when "sum-rgb"
|
80
|
-
mhm = list.sort_by { |c| ChunkyPNG::Color.r(c)+ChunkyPNG::Color.g(c)+ChunkyPNG::Color.b(c) }
|
88
|
+
mhm = list.sort_by { |c| k * (ChunkyPNG::Color.r(c)+ChunkyPNG::Color.g(c)+ChunkyPNG::Color.b(c)) }
|
81
89
|
when "sum-rgba"
|
82
|
-
mhm =list.sort_by { |c| ChunkyPNG::Color.r(c)+ChunkyPNG::Color.g(c)+ChunkyPNG::Color.b(c)+ChunkyPNG::Color.a(c) }
|
90
|
+
mhm =list.sort_by { |c| k * (ChunkyPNG::Color.r(c)+ChunkyPNG::Color.g(c)+ChunkyPNG::Color.b(c)+ChunkyPNG::Color.a(c)) }
|
83
91
|
when "red"
|
84
|
-
mhm = list.sort_by { |c| ChunkyPNG::Color.r(c) }
|
92
|
+
mhm = list.sort_by { |c| k * ChunkyPNG::Color.r(c) }
|
85
93
|
when "yellow"
|
86
|
-
mhm =list.sort_by { |c| ChunkyPNG::Color.r(c)+ChunkyPNG::Color.g(c) }
|
94
|
+
mhm =list.sort_by { |c| k * (ChunkyPNG::Color.r(c)+ChunkyPNG::Color.g(c)) }
|
87
95
|
when "green"
|
88
|
-
mhm = list.sort_by { |c| ChunkyPNG::Color.g(c) }
|
96
|
+
mhm = list.sort_by { |c| k * ChunkyPNG::Color.g(c) }
|
89
97
|
when "cyan"
|
90
|
-
mhm =list.sort_by { |c| ChunkyPNG::Color.g(c)+ChunkyPNG::Color.b(c) }
|
98
|
+
mhm =list.sort_by { |c| k * (ChunkyPNG::Color.g(c)+ChunkyPNG::Color.b(c)) }
|
91
99
|
when "blue"
|
92
|
-
mhm = list.sort_by { |c| ChunkyPNG::Color.b(c) }
|
100
|
+
mhm = list.sort_by { |c| k * ChunkyPNG::Color.b(c) }
|
93
101
|
when "magenta"
|
94
|
-
mhm =list.sort_by { |c| ChunkyPNG::Color.r(c)+ChunkyPNG::Color.b(c) }
|
102
|
+
mhm =list.sort_by { |c| k * (ChunkyPNG::Color.r(c)+ChunkyPNG::Color.b(c)) }
|
95
103
|
when "hue"
|
96
|
-
mhm = list.sort_by { |c| ChunkyPNG::Color.to_hsb(c)[0] % 360 }
|
104
|
+
mhm = list.sort_by { |c| k * (ChunkyPNG::Color.to_hsb(c)[0] % 360) }
|
97
105
|
when "saturation"
|
98
|
-
mhm = list.sort_by { |c| ChunkyPNG::Color.to_hsb(c)[1] }
|
106
|
+
mhm = list.sort_by { |c| k * ChunkyPNG::Color.to_hsb(c)[1] }
|
99
107
|
when "brightness"
|
100
|
-
mhm = list.sort_by { |c| ChunkyPNG::Color.to_hsb(c)[2] }
|
108
|
+
mhm = list.sort_by { |c| k * ChunkyPNG::Color.to_hsb(c)[2] }
|
101
109
|
when "sum-hsb"
|
102
|
-
mhm = list.sort_by { |c|
|
110
|
+
mhm = list.sort_by { |c| hsb = ChunkyPNG::Color.to_hsb(c); k * ((hsb[0] % 360) / 360.0 + hsb[1] + hsb[2]) }
|
103
111
|
when "sum-hsba"
|
104
|
-
mhm = list.sort_by { |c|
|
112
|
+
mhm = list.sort_by { |c| hsb = ChunkyPNG::Color.to_hsb(c); k * ((hsb[0] % 360) / 360.0 + hsb[1] + hsb[2] + ChunkyPNG::Color.a(c) / 255.0) }
|
105
113
|
when "uniqueness"
|
106
114
|
avg = Pxlsrt::Colors.colorAverage(list, true)
|
107
|
-
mhm = list.sort_by { |c| Pxlsrt::Colors.colorUniqueness(c, [avg], true) }
|
115
|
+
mhm = list.sort_by { |c| k * Pxlsrt::Colors.colorUniqueness(c, [avg], true) }
|
108
116
|
when "luma"
|
109
|
-
mhm = list.sort_by { |c| ChunkyPNG::Color.r(c) * 0.2126 + ChunkyPNG::Color.g(c) * 0.7152 + ChunkyPNG::Color.b(c) * 0.0722 + ChunkyPNG::Color.a(c) }
|
117
|
+
mhm = list.sort_by { |c| k * (ChunkyPNG::Color.r(c) * 0.2126 + ChunkyPNG::Color.g(c) * 0.7152 + ChunkyPNG::Color.b(c) * 0.0722 + ChunkyPNG::Color.a(c)) }
|
110
118
|
when "random"
|
111
119
|
mhm = list.shuffle
|
112
120
|
when "alpha"
|
113
|
-
mhm = list.sort_by{ |c| ChunkyPNG::Color.a(c) }
|
121
|
+
mhm = list.sort_by{ |c| k * ChunkyPNG::Color.a(c) }
|
122
|
+
when "none"
|
123
|
+
if k == -1
|
124
|
+
mhm = list.reverse
|
125
|
+
else
|
126
|
+
mhm = list
|
127
|
+
end
|
114
128
|
else
|
115
|
-
mhm = list.sort_by { |c| ChunkyPNG::Color.r(c)+ChunkyPNG::Color.g(c)+ChunkyPNG::Color.b(c) }
|
116
|
-
end
|
117
|
-
if reverse == 0
|
118
|
-
return mhm
|
119
|
-
elsif reverse == 1
|
120
|
-
return mhm.reverse
|
121
|
-
else
|
122
|
-
return [true, false].sample ? mhm : mhm.reverse
|
129
|
+
mhm = list.sort_by { |c| k * (ChunkyPNG::Color.r(c)+ChunkyPNG::Color.g(c)+ChunkyPNG::Color.b(c)) }
|
123
130
|
end
|
131
|
+
return mhm
|
124
132
|
end
|
125
133
|
##
|
126
134
|
# Turns an RGB-like array into ChunkyPNG's color
|
data/lib/pxlsrt/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pxlsrt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- EVA-01
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|