radames commited on
Commit
769aee4
1 Parent(s): 974587a

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +14 -3
index.html CHANGED
@@ -173,7 +173,7 @@
173
  undoBtn.disabled = false;
174
  const { maskURL } = await getSegmentationMask(pointArr);
175
  isSegmenting = false;
176
- drawMask(maskURL);
177
  });
178
  async function undoPoint() {
179
  if (!hasImage || isEmbedding || isSegmenting) {
@@ -191,7 +191,7 @@
191
  isSegmenting = true;
192
  const { maskURL } = await getSegmentationMask(pointArr);
193
  isSegmenting = false;
194
- drawMask(maskURL);
195
  }
196
  function togglePointMode(mode) {
197
  bgPointMode = mode ? mode : !bgPointMode;
@@ -249,7 +249,7 @@
249
  canvas.parentElement.style.height = "auto";
250
  dropButtons.classList.remove("invisible");
251
  }
252
- function drawMask(maskURL) {
253
  if (!maskURL) {
254
  throw new Error("No mask URL provided");
255
  }
@@ -260,12 +260,23 @@
260
  img.onload = () => {
261
  mask.width = canvas.width;
262
  mask.height = canvas.height;
 
263
  ctxMask.drawImage(canvas, 0, 0);
264
  ctxMask.globalCompositeOperation = "source-atop";
265
  ctxMask.fillStyle = "rgba(255, 0, 0, 0.6)";
266
  ctxMask.fillRect(0, 0, canvas.width, canvas.height);
267
  ctxMask.globalCompositeOperation = "destination-in";
268
  ctxMask.drawImage(img, 0, 0);
 
 
 
 
 
 
 
 
 
 
269
  };
270
  img.src = maskURL;
271
  }
 
173
  undoBtn.disabled = false;
174
  const { maskURL } = await getSegmentationMask(pointArr);
175
  isSegmenting = false;
176
+ drawMask(maskURL, pointArr);
177
  });
178
  async function undoPoint() {
179
  if (!hasImage || isEmbedding || isSegmenting) {
 
191
  isSegmenting = true;
192
  const { maskURL } = await getSegmentationMask(pointArr);
193
  isSegmenting = false;
194
+ drawMask(maskURL, pointArr);
195
  }
196
  function togglePointMode(mode) {
197
  bgPointMode = mode ? mode : !bgPointMode;
 
249
  canvas.parentElement.style.height = "auto";
250
  dropButtons.classList.remove("invisible");
251
  }
252
+ function drawMask(maskURL, points) {
253
  if (!maskURL) {
254
  throw new Error("No mask URL provided");
255
  }
 
260
  img.onload = () => {
261
  mask.width = canvas.width;
262
  mask.height = canvas.height;
263
+ ctxMask.save();
264
  ctxMask.drawImage(canvas, 0, 0);
265
  ctxMask.globalCompositeOperation = "source-atop";
266
  ctxMask.fillStyle = "rgba(255, 0, 0, 0.6)";
267
  ctxMask.fillRect(0, 0, canvas.width, canvas.height);
268
  ctxMask.globalCompositeOperation = "destination-in";
269
  ctxMask.drawImage(img, 0, 0);
270
+ ctxMask.globalCompositeOperation = "source-over";
271
+ ctxMask.fillStyle = "rgba(0, 255, 255, 1)";
272
+ for(const pt of points) {
273
+ ctxMask.beginPath();
274
+ ctxMask.arc(pt[0] * canvas.width, pt[1] * canvas.height, 2, 0, 2 * Math.PI);
275
+ ctxMask.fill();
276
+ }
277
+ ctxMask.restore();
278
+
279
+
280
  };
281
  img.src = maskURL;
282
  }