mirror of
https://github.com/kkapsner/CanvasBlocker
synced 2025-07-04 12:36:37 +02:00
Added setting for alpha channel faking.
This commit is contained in:
parent
6f9e2ad686
commit
73e4848ffd
5 changed files with 27 additions and 5 deletions
|
@ -10,6 +10,7 @@ var settings = {
|
|||
rng: "nonPersistent",
|
||||
useCanvasCache: true,
|
||||
ignoreFrequentColors: 0,
|
||||
fakeAlphaChannel: false,
|
||||
persistentRndStorage: "",
|
||||
storePersistentRnd: false,
|
||||
askOnlyOnce: true,
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
}
|
||||
|
||||
var rng = randomSupply.getPixelRng(l, window, ignoredColors);
|
||||
|
||||
var fakeAlphaChannel = prefs("fakeAlphaChannel");
|
||||
for (var i = 0; i < l; i += 4){
|
||||
var [r, g, b, a] = rng(
|
||||
source[i + 0],
|
||||
|
@ -89,13 +89,14 @@
|
|||
desc[i + 0] = r;
|
||||
desc[i + 1] = g;
|
||||
desc[i + 2] = b;
|
||||
desc[i + 3] = a;
|
||||
desc[i + 3] = fakeAlphaChannel? a: source[i + 3];
|
||||
}
|
||||
var canvas = original.cloneNode(true);
|
||||
context = window.HTMLCanvasElement.prototype.getContext.call(canvas, "2d");
|
||||
context.putImageData(imageData, 0, 0);
|
||||
if (prefs("useCanvasCache")){
|
||||
canvasCache[originalDataURL] = canvas;
|
||||
canvasCache[canvas.toDataURL()] = canvas;
|
||||
}
|
||||
return canvas;
|
||||
}
|
||||
|
@ -373,7 +374,7 @@
|
|||
ignoredColors = statistic.getMaxColors(prefs("ignoreFrequentColors"));
|
||||
}
|
||||
var rng = randomSupply.getPixelRng(l, window, ignoredColors);
|
||||
|
||||
var fakeAlphaChannel = prefs("fakeAlphaChannel");
|
||||
for (var i = 0; i < l; i += 4){
|
||||
var [r, g, b, a] = rng(
|
||||
xPixels[i + 0],
|
||||
|
@ -385,9 +386,10 @@
|
|||
xPixels[i + 0] = r;
|
||||
xPixels[i + 1] = g;
|
||||
xPixels[i + 2] = b;
|
||||
xPixels[i + 3] = a;
|
||||
if (fakeAlphaChannel){
|
||||
xPixels[i + 3] = a;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue