sumatrapdfreader / sumatrapdf

SumatraPDF reader
http://www.sumatrapdfreader.org
GNU General Public License v3.0
13.63k stars 1.73k forks source link

Add measuring tool #750

Open asdfasdf123123 opened 7 years ago

asdfasdf123123 commented 7 years ago

On scanned or exported blueprints it would be very useful, if sumatra had a measuring feature (length, area). The unit/pixel (or unit/mm?) ratio value should be taken from the document by drawing a vector on a known length of the blueprint then giving the unit a name (yard, meter). The ratio and the name should be stored for later use. It would be practical if zooming wouldn't affect the measuring (eg.: zoom in -> start point -> zoom out -> zoom in -> end point). Thanks.

GitHubRulesOK commented 4 years ago

@kjk Practically most of this functionality is already there, so possibly for next round augment the current measuring tool to show sq root and accept a user defined unit with a temporarily added ratio

An example that explains most requirement is one such as this where SumatraPDF can tell me that measuring bottom scale bar from -4 to +4 (8 units) = allowing for rounding error 160 pt image

Thus, I now know if I could key in my observation of 8 as a divisor ratio then each 20 pt =1 unit The entry could be done for me from click 1 to click 2 with a request for observed / desired units but at its most basic just needs a key in box from say 0.0001 to 9999.9

The user will have difficulty setting the start position (screen size cross-hairs help), so as requested by OP they need to zoom in to more precisely store the current measured location. Then they usually need to move out to the target location before zooming in again to place measurement end point.

So now we have two buffered x,y pixel values and Pythagoras sq root will give us the distance in page units, however we need to convert those to the original scale, so a divisor box that can be easily changed from use to use would help

image

The Pythagoras Calc could show vector "length" as say "diagonal" and could also show sq area (x * y) as converted too

image