Skip to content

Instantly share code, notes, and snippets.

@NHQ
Last active August 29, 2015 14:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NHQ/4ab9b059329c8ae2d778 to your computer and use it in GitHub Desktop.
Save NHQ/4ab9b059329c8ae2d778 to your computer and use it in GitHub Desktop.
q = quantize(1.9)
return function (r, w) {
for (var i = 0; i < w.data.length; i += 4) {
var v = q([r.data[i], r.data[i+1], r.data[i+2]])
w.data[i] = v;
w.data[i+1] = v;
w.data[i+2] = v;
w.data[i+3] = 255;
}
}
function quantize(x){
var z = 255 * 3
var q = z / x
return function(pixels){
var totes = pixels.reduce(function(a, e){
return a + e
},0)
return Math.floor(totes / q) * q
}
}
arr = quantizeColor(120)
gee = quantizeColor(120)
bee = quantizeColor(120)
q = quantize(2)
return function (r, w) {
for (var i = 0; i < w.data.length; i += 4) {
var v = q([r.data[i], r.data[i+1], r.data[i+2]])
w.data[i] = arr(r.data[i]) * v / 255;
w.data[i+1] = gee(r.data[i+1]) * v / 255;
w.data[i+2] = bee(r.data[i+2]) * v / 255;
w.data[i+3] = 255;
}
}
function quantize(x){
var z = 255 * 3
var q = z / x
return function(pixels){
var totes = pixels.reduce(function(a, e){
return a + e
},0)
return Math.floor(totes / q) * q
}
}
function quantizeColor(x){
var z = 255
var q = z / x
return function(totes){
return Math.floor(totes / q) * q
}
}
var QUANTASTICALLY = 7
q = quantize(QUANTASTICALLY)
return function (r, w) {
for (var i = 0; i < w.data.length; i += 4) {
v = q([r.data[i], r.data[i+1], r.data[i+2]])
w.data[i] = v;
w.data[i+1] = v;
w.data[i+2] = v;
w.data[i+3] = 255;
}
}
function quantize(x){
var z = 255 * 3
var q = 255 / x
return function(pixels){
var totes = pixels.reduce(function(a, e){
return a + ( (e / 255))
},0) / 3
return Math.floor(totes * 255 / q) * q
}
}
function quantizeColor(x){
var z = 255
var q = z / x
return function(totes){
return Math.ceil(totes / q) * q
}
}
arr = quantizeColor(120)
gee = quantizeColor(120)
bee = quantizeColor(120)
q = quantize(3/4)
return function (r, w) {
for (var i = 0; i < w.data.length; i += 4) {
v = q([r.data[i], r.data[i+1], r.data[i+2]])
w.data[i] = (arr(r.data[i]) * v / 255);
w.data[i+1] = (gee(r.data[i+1]) * v / 255) ;
w.data[i+2] = (bee(r.data[i+2]) * v / 255);
w.data[i+3] = 255;
}
}
function quantize(x){
var z = 255 * 3
var q = 255 / x
return function(pixels){
var totes = pixels.reduce(function(a, e){
return a + e / 255
},0)
return Math.floor(totes * 255 / q) * q
}
}
function quantizeColor(x){
var z = 255
var q = z / x
return function(totes){
return Math.floor(totes / q) * q / x / q * 255
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment