1
0
Fork 0
mirror of https://github.com/kkapsner/CanvasBlocker synced 2025-07-03 03:56:26 +02:00

Changed rng interface to use colors instead of separate channels.

This commit is contained in:
kkapsner 2017-08-07 08:49:49 +02:00
parent 26457b2a7f
commit 921c7dbd5f
2 changed files with 60 additions and 6 deletions

View file

@ -59,10 +59,22 @@
var {imageData, source} = getImageData(window, context);
var desc = imageData.data;
var l = desc.length;
var rng = randomSupply.getRng(l, window);
for (var i = 0; i < l; i += 1){
desc[i] = rng(source[i], i);
var ignoredColors = {};
var rng = randomSupply.getPixelRng(l, window, ignoredColors);
for (var i = 0; i < l; i += 4){
var [r, g, b, a] = rng(
source[i + 0],
source[i + 1],
source[i + 2],
source[i + 3],
i / 4
);
desc[i + 0] = r;
desc[i + 1] = g;
desc[i + 2] = b;
desc[i + 3] = a;
}
var canvas = original.cloneNode(true);
context = window.HTMLCanvasElement.prototype.getContext.call(canvas, "2d");
@ -337,10 +349,20 @@
var xPixels = pixels;
var ret = original.apply(this, window.Array.from(arguments));
var l = xPixels.length;
var rng = randomSupply.getRng(l, window);
var rng = randomSupply.getPixelRng(l, window, {});
for (var i = 0; i < l; i += 1){
xPixels[i] = rng(xPixels[i], i);
for (var i = 0; i < l; i += 4){
var [r, g, b, a] = rng(
xPixels[i + 0],
xPixels[i + 1],
xPixels[i + 2],
xPixels[i + 3],
i / 4
);
xPixels[i + 0] = r;
xPixels[i + 1] = g;
xPixels[i + 2] = b;
xPixels[i + 3] = a;
}
return ret;