Skip to content
Snippets Groups Projects
Commit 2a6d4b3a authored by Laurent Knoll's avatar Laurent Knoll
Browse files

Amélioration de l'outil de contour de blob

parent 5a88356e
Branches
No related tags found
No related merge requests found
...@@ -49,8 +49,8 @@ ...@@ -49,8 +49,8 @@
<div class="card-body"> <div class="card-body">
<p><span class="badge rounded-pill text-bg-primary">4</span> Entourer le blob en dessinant avec la souris.</p> <p><span class="badge rounded-pill text-bg-primary">4</span> Entourer le blob en dessinant avec la souris.</p>
<p class="text-muted">Aire du blob : <span id="bl-area">...</span> cm².</p> <p class="text-muted">Aire du blob : <span id="bl-area">...</span> cm².</p>
<button id="bl-undo-blob" type="button" class="btn btn-primary">Undo</button> <button id="bl-undo-blob" type="button" class="btn btn-primary">Défaire</button>
<button id="bl-clear-blob" type="button" class="btn btn-primary">Effacer</button> <button id="bl-clear-blob" type="button" class="btn btn-primary">Effacer tout</button>
</div> </div>
</div> </div>
</div> </div>
...@@ -140,6 +140,12 @@ ...@@ -140,6 +140,12 @@
paper.view.draw(); paper.view.draw();
} }
let undoBlobPath = function () {
if(blobPath != null && blobPath.segments.length > 0) {
blobPath.removeSegments(Math.max(blobPath.segments.length - 5, 0));
}
}
let updateMeasures = function () { let updateMeasures = function () {
document.getElementById("bl-resolution").innerText = ruler.resolution; document.getElementById("bl-resolution").innerText = ruler.resolution;
document.getElementById("bl-area").innerText = (blobPath.area / ruler.resolution).toString(); document.getElementById("bl-area").innerText = (blobPath.area / ruler.resolution).toString();
...@@ -159,9 +165,7 @@ ...@@ -159,9 +165,7 @@
} }
}); });
document.getElementById("bl-undo-blob").addEventListener("click", (event) => { document.getElementById("bl-undo-blob").addEventListener("click", (event) => {
if(blobPath != null && blobPath.segments.length > 0) { undoBlobPath();
blobPath.removeSegment(blobPath.segments.length -1);
}
}); });
document.getElementById("bl-canvas").addEventListener('wheel', (event) => { document.getElementById("bl-canvas").addEventListener('wheel', (event) => {
...@@ -224,6 +228,7 @@ ...@@ -224,6 +228,7 @@
raster.onMouseDrag = function (event) { raster.onMouseDrag = function (event) {
if (!event.modifiers.shift) { // Epêche de dessiner lors du déplacement de la vue if (!event.modifiers.shift) { // Epêche de dessiner lors du déplacement de la vue
blobPath.add(event.point); blobPath.add(event.point);
blobPath.smooth({ type: 'continuous' });
updateMeasures(); updateMeasures();
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment