Skip to content

Commit d1a131a

Browse files
committed
yeah overmasking is _definitely_ fixed, works great now
1 parent 04f66c2 commit d1a131a

1 file changed

Lines changed: 28 additions & 26 deletions

File tree

js/index.js

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -646,34 +646,36 @@ function mouseUp(evt) {
646646
initImgData.data[i + 3] = imgChunkData[i + 3]; //it's still RGBA so we can handily do this in nice chunks'o'4
647647
}
648648
}
649-
// https://stackoverflow.com/a/30204783 ???? !!!!!!!!
650-
overMaskCanvasCtx.fillStyle = "black";
651-
overMaskCanvasCtx.fillRect(0, 0, drawIt.w, drawIt.h); // fill with black instead of null to start
652-
for (i = 0; i < overMaskImgData.data.length; i += 4) {
653-
if (overMaskImgData.data[i] == 255) {
654-
// white pixel?
655-
// just blotch all over the thing
656-
var rando = Math.floor(Math.random() * overMaskPx);
657-
overMaskCanvasCtx.beginPath();
658-
overMaskCanvasCtx.arc(
659-
(i / 4) % overMaskCanvas.width,
660-
Math.floor(i / 4 / overMaskCanvas.width),
661-
4 * scaleFactor + rando,
662-
0,
663-
2 * Math.PI,
664-
true
665-
);
666-
overMaskCanvasCtx.fillStyle = "#FFFFFFFF";
667-
overMaskCanvasCtx.fill();
649+
if (overMaskPx > 0) {
650+
// https://stackoverflow.com/a/30204783 ???? !!!!!!!!
651+
overMaskCanvasCtx.fillStyle = "black";
652+
overMaskCanvasCtx.fillRect(0, 0, drawIt.w, drawIt.h); // fill with black instead of null to start
653+
for (i = 0; i < overMaskImgData.data.length; i += 4) {
654+
if (overMaskImgData.data[i] == 255) {
655+
// white pixel?
656+
// just blotch all over the thing
657+
var rando = Math.floor(Math.random() * overMaskPx);
658+
overMaskCanvasCtx.beginPath();
659+
overMaskCanvasCtx.arc(
660+
(i / 4) % overMaskCanvas.width,
661+
Math.floor(i / 4 / overMaskCanvas.width),
662+
scaleFactor + rando, // was 4 * sf + rando, too big
663+
0,
664+
2 * Math.PI,
665+
true
666+
);
667+
overMaskCanvasCtx.fillStyle = "#FFFFFFFF";
668+
overMaskCanvasCtx.fill();
669+
}
668670
}
671+
overMaskImgData = overMaskCanvasCtx.getImageData(
672+
0,
673+
0,
674+
overMaskCanvas.width,
675+
overMaskCanvas.height
676+
);
677+
overMaskCanvasCtx.putImageData(overMaskImgData, 0, 0);
669678
}
670-
overMaskImgData = overMaskCanvasCtx.getImageData(
671-
0,
672-
0,
673-
overMaskCanvas.width,
674-
overMaskCanvas.height
675-
);
676-
overMaskCanvasCtx.putImageData(overMaskImgData, 0, 0);
677679
// also check for painted masks in region, add them as white pixels to mask canvas
678680
const maskChunk = maskPaintCtx.getImageData(
679681
drawIt.x,

0 commit comments

Comments
 (0)