mirror of
https://github.com/konvajs/konva.git
synced 2025-09-20 03:18:00 +08:00
27 lines
1.0 KiB
JavaScript
27 lines
1.0 KiB
JavaScript
![]() |
Noise = (function () {
|
||
|
var Noise = function (src, dst, opt) {
|
||
|
var amount = opt.amount || 32,
|
||
|
affectAlpha = opt.affectAlpha || 0;
|
||
|
var srcPixels = src.data,
|
||
|
dstPixels = dst.data,
|
||
|
nPixels = srcPixels.length,
|
||
|
half = amount / 2,
|
||
|
i;
|
||
|
if (affectAlpha) {
|
||
|
for (i = 0; i < nPixels; i += 4) {
|
||
|
dstPixels[i + 0] = srcPixels[i + 0] + half - 2 * half * Math.random();
|
||
|
dstPixels[i + 1] = srcPixels[i + 1] + half - 2 * half * Math.random();
|
||
|
dstPixels[i + 2] = srcPixels[i + 2] + half - 2 * half * Math.random();
|
||
|
dstPixels[i + 3] = srcPixels[i + 3] + half - 2 * half * Math.random();
|
||
|
}
|
||
|
} else {
|
||
|
for (i = 0; i < nPixels; i += 4) {
|
||
|
dstPixels[i + 0] = srcPixels[i + 0] + half - 2 * half * Math.random();
|
||
|
dstPixels[i + 1] = srcPixels[i + 1] + half - 2 * half * Math.random();
|
||
|
dstPixels[i + 2] = srcPixels[i + 2] + half - 2 * half * Math.random();
|
||
|
dstPixels[i + 3] = srcPixels[i + 3];
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
return Noise;
|
||
|
})();
|