This is awesome! Such a wonderfully simple idea, and pretty nice execution to boot. I normally rely heavily on Cmd-Shift-4 on OS X for measuring stuff on screen (click, drag, then Esc to cancel before actually taking a screenshot), but I have a feeling this extension will be a pretty significant improvement over my approach. Great work!
For those that don't see a use case: Chrome's dev tools work well for measuring things within the context of the box model, but so much of what I measure on a regular basis isn't captured there. The best example I can think of is measurements relative to some text's baseline—the distance between the bottom baseline of some text and the border of its parent container, including adjustments for line height, padding, and related margins, for instance. This extension would also work for things that aren't even represented in the box model, like the distance between two shapes in a <canvas> element.
One feature suggestion: it'd be great to be able to click or use another keyboard shortcut to set arbitrary anchor points on the page. That way, I could measure the distance between elements that aren't necessarily on the same vertical or horizontal axis. That's one thing that OS X's screenshot utility is great for (though perhaps unintentionally).
For everyone who uses Cmd-Shift-4, try Cmd-Cntrl-Shift-4 to accomplish the same thing without risking a 31px by 2px file cluttering your desktop when you don't click Esc on time.
Very true and I can't imagine using any device without a multi-clipboard manager. I'm pretty surprised Windows, OS X, Android, iOS, etc. don't already have them built-in by now or at least optional within the system preferences somewhere.
Great job, it's amazing how accurate it is. Getting this tool to be reliable had to be a substantial struggle.
If you find this extension useful, there might be a situation when you need to measure stuff that is not inside your browser. SnapRuler (http://www.snaprulerapp.com) is an OSX tool that can measure anything you see on screen.
It's become part of my daily work flow. For the price and time saved, I can't recommend it enough.
Its on my list with ColorSnapper (another small dev made utility), between the two, I rarely take screenshots anymore. I find it more useful than browser plugins as often my rendering issues are with old browsers that lack such utilities.
This is rely nice, its unfortunate that it doesn't work on gradients though...
One way to fix that would be to pass the screen shot of the page (what I believe it is doing) though a edge detection filter first before measuring between colour thresholds?
How did he make it work? I didn't think this would be possible.
Yes, extremely impressed with the tool.
EDIT: Looked at the code. He takes screenshot of the active tab when extension is clicked. And then parses the PNG in measureDistances function when mouse moves.
For a mouse at position X, Y, it tries to find the farthest Top, Bottom, Right, Left points with same color/threshold. This is why it is able to see through 'transparent' Google logo.
I don't think typically is the right word here. I've certainly done it before, but I'd wager that under (and possibly well under) a quarter of programmers actually have this remapping on their machines. This could be totally wrong, but is based on the people I've worked with and gone to school with.
This is great, installing now. I too use the cmd+shift+4 method but it's pretty unreliable.
Similarly, one thing I often find myself needing to do is find the hex or RGB value of an element of pixel on the fly. I know there are osx apps that do this but they're usually of the paid variety. Are there any good chrome extensions that can accomplish this?
I made a little applescript application so I can open the system colour picker with spotlight. That way I can use the palette at the bottom to save a the colours, and the developer picker extension to copy the code.
To build it just put 'choose color' into script editor and save it as an application.
On my Ubuntu "retina" notebook (ThinkPad) it did not work at first, because I set my default zoom level in Chrome to 175%. Once I scaled back to 100% the extensions works great. I guess it doesn't really make since to do pixel measurements when the pixels arent 1:1, so I'm not sure this should be fixed or just documented.
I developed it on a mbp 13", just not the retina version. Someone reported the bug that it doesn't work when the browser is zoomed. May that be the case for you?
Doesn't work on my Retina MBP either, but it works on a connected regular res monitor.
The problem appears to be that it maps 2x pixels to "normal" 1x pixels as output. So all the measurements are scaled up 200%, with the top left corner as the origin.
For those that don't see a use case: Chrome's dev tools work well for measuring things within the context of the box model, but so much of what I measure on a regular basis isn't captured there. The best example I can think of is measurements relative to some text's baseline—the distance between the bottom baseline of some text and the border of its parent container, including adjustments for line height, padding, and related margins, for instance. This extension would also work for things that aren't even represented in the box model, like the distance between two shapes in a <canvas> element.
One feature suggestion: it'd be great to be able to click or use another keyboard shortcut to set arbitrary anchor points on the page. That way, I could measure the distance between elements that aren't necessarily on the same vertical or horizontal axis. That's one thing that OS X's screenshot utility is great for (though perhaps unintentionally).