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

Function dilateMask

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

Source from the content-addressed store, hash-verified

4792 }
4793
4794 function dilateMask(mask, sw, sh) {
4795
4796 var weights = [1, 1, 1, 1, 1, 1, 1, 1, 1];
4797 var side = Math.round(Math.sqrt(weights.length));
4798 var halfSide = Math.floor(side / 2);
4799
4800 var maskResult = [];
4801 for (var y = 0; y < sh; y++) {
4802 for (var x = 0; x < sw; x++) {
4803
4804 var so = y * sw + x;
4805 var a = 0;
4806 for (var cy = 0; cy < side; cy++) {
4807 for (var cx = 0; cx < side; cx++) {
4808 var scy = y + cy - halfSide;
4809 var scx = x + cx - halfSide;
4810
4811 if (scy >= 0 && scy < sh && scx >= 0 && scx < sw) {
4812
4813 var srcOff = scy * sw + scx;
4814 var wt = weights[cy * side + cx];
4815
4816 a += mask[srcOff] * wt;
4817 }
4818 }
4819 }
4820
4821 maskResult[so] = (a >= 255 * 4) ? 255 : 0;
4822 }
4823 }
4824
4825 return maskResult;
4826 }
4827
4828 function smoothEdgeMask(mask, sw, sh) {
4829

Callers 1

kinetic.jsFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected