Squashed from chore/license-relicense. Full message preserved in the original branch commitbb77eb5. See ADR-0002 for the decision rationale. Refs: ADR-0002, commitbb77eb5
23 lines
No EOL
1,017 B
JavaScript
23 lines
No EOL
1,017 B
JavaScript
// SPDX-License-Identifier: BSL-1.1
|
|
// Copyright (c) 2026 Rug Munch Media LLC
|
|
//
|
|
// Part of Pry — Stealth Script.
|
|
// Licensed under Business Source License 1.1 — see LICENSE-BSL-STEALTH.
|
|
|
|
(() => {
|
|
const noise = 0.00017348278297823374;
|
|
const toDataURL = HTMLCanvasElement.prototype.toDataURL;
|
|
HTMLCanvasElement.prototype.toDataURL = function(type, quality) {
|
|
const canvas = this;
|
|
const ctx = canvas.getContext('2d');
|
|
if (ctx) {
|
|
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
|
|
for (let i = 0; i < imageData.data.length; i += 4) {
|
|
imageData.data[i] = Math.min(255, Math.max(0, imageData.data[i] + (Math.random() > 0.5 ? 1 : -1) * noise * 255));
|
|
}
|
|
ctx.putImageData(imageData, 0, 0);
|
|
}
|
|
return toDataURL.call(this, type, quality);
|
|
};
|
|
})();
|
|
|