
I Added 5 Drawing Tools to My Canvas App. Undo Almost Killed It.
The best part of building your own tools is that you can add whatever you want. I was filing a bug report and opened my own annotation tool to mark up a screenshot. I drew an arrow. But I wanted a freehand pen to circle the area. No pen. I tried a rectangle — the thing I was highlighting wasn't rectangular. I wanted an ellipse. No ellipse either. I built this thing. And it was frustrating me. ——So I added them. Today. This is the story of a major update to PureMark Annotate — a browser-based screenshot annotation tool (no install, no login). I started with 5 tools: arrow, text, rectangle, numbered circle, and mosaic. I added freehand pen, marker/highlight, straight line, ellipse, and Undo/Redo all at once. PureMark Annotate — Works in your browser. No install, no account. 👉 annotate.puremark.app "Just adding tools to Canvas" sounded simple. There were 3 real gotchas. And they were fun. The Pen Was Jagged The first implementation was straightforward. Collect coordinates in a points arra
Continue reading on Dev.to JavaScript
Opens in a new tab

![[Learning notes and hw] getting started with R-cnn: Manually implementing Intersection over Union (IoU)](/_next/image?url=https%3A%2F%2Fmedia2.dev.to%2Fdynamic%2Fimage%2Fwidth%3D800%252Cheight%3D%252Cfit%3Dscale-down%252Cgravity%3Dauto%252Cformat%3Dauto%2Fhttps%253A%252F%252Fdev-to-uploads.s3.amazonaws.com%252Fuploads%252Farticles%252Favit2emoxc0g68e5ltqj.jpg&w=1200&q=75)

