MCPcopy
hub / github.com/ericdrowell/KineticJS / smoothEdgeMask

Function smoothEdgeMask

kinetic.js:4828–4860  ·  view source on GitHub ↗
(mask, sw, sh)

Source from the content-addressed store, hash-verified

4826 }
4827
4828 function smoothEdgeMask(mask, sw, sh) {
4829
4830 var weights = [1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9];
4831 var side = Math.round(Math.sqrt(weights.length));
4832 var halfSide = Math.floor(side / 2);
4833
4834 var maskResult = [];
4835 for (var y = 0; y < sh; y++) {
4836 for (var x = 0; x < sw; x++) {
4837
4838 var so = y * sw + x;
4839 var a = 0;
4840 for (var cy = 0; cy < side; cy++) {
4841 for (var cx = 0; cx < side; cx++) {
4842 var scy = y + cy - halfSide;
4843 var scx = x + cx - halfSide;
4844
4845 if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {
4846
4847 var srcOff = scy * sw + scx;
4848 var wt = weights[cy * side + cx];
4849
4850 a += mask[srcOff] * wt;
4851 }
4852 }
4853 }
4854
4855 maskResult[so] = a;
4856 }
4857 }
4858
4859 return maskResult;
4860 }
4861
4862 /**
4863 * Mask Filter

Callers 1

kinetic.jsFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected