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:
parent
26457b2a7f
commit
921c7dbd5f
2 changed files with 60 additions and 6 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue