Giter Club home page Giter Club logo

screenruler's Introduction

Screen Ruler

Updates GitHub License Download

Configurable screen ruler for measuring in pixels, centimeters, inches, points and percent.

Screen Ruler is a lightweight and configurable ruler tool for Windows Desktop. It allows you to measure the size of elements on the screen in different units, including pixels, centimeters and inches. Measuring is possible either using a two-dimensional, rectangular ruler scale or a one-dimensional, horizontal or vertical scale. The ruler can be moved and resized precisely using either the mouse or the keyboard and custom marking lines can be added. Besides coming with a light and a dark theme, Screen Ruler also allows you to fully customize its appearance by changing all color settings.

Features

  • Measure in pixels, centimeters, inches, points and percent

  • Two-dimensional, rectangular ruler scale

  • One-dimensional, horizontal or vertical ruler scale

  • Dark theme and option for custom coloring

  • Automatically measure the size of windows on screen

  • Add arbitrary number of custom marking lines

  • Measure triangle hypotenuse and angles

  • Auto-mark center, thirds or golden ratio

  • Precise moving, resizing and flipping with keyboard shortcuts

  • Fully portable with no installation needed

Setup and Usage

Requirements

Screen Ruler requires Windows 7 or newer and .NET Framework 4.8 or higher.

Get Screen Ruler

or

choco install screenruler

How To Use

From the help window (press F1 in the app):

Keyboard Actions:
Space - Switch ruler mode between horizontal, vertical and two-dimensional.
Z - Select a window to measure. Cancel with 'Esc'.
Arrow keys - Move the ruler by one pixel.
Shift + Arrow keys - Move the ruler by one medium step (defaults to 5px).
Ctrl + Arrow keys - Resize the ruler by one pixel.
Ctrl + Shift + Arrow keys - Resize the ruler by one medium step (defaults to 5px).
Alt + Arrow keys - Dock the ruler to screen boundaries.
Ctrl + C - Copy current length to clipboard.
L - Set marker at current length.
C - Remove the first custom marking line.
Esc - Exit Screen Ruler, window selection or help.
See more keyboard actions in context menu.

Mouse Actions:
Click on a position where a marker is set - Open dialog to view/ delete marker.
Double-click on ruler - Set marker at the clicked position.
Mouse wheel - Resize the ruler.
Shift + Mouse wheel - Fast resizing of the ruler (large steps).

Version History

Read the changelog to see changes in each version.

Feedback and Support

Please leave a feedback on Sourceforge, on AlternativeTo or anywhere else. Thank you!

Places to get help:

  • Ask on Sourceforge (General help, ideas etc.)
  • Open an issue on GitHub (Bugs, feature requests etc.)

Contribute

You are very welcome to support the development of this app by reporting bugs, adding fixes, translating or suggesting new features. The easiest way to contribute is to open pull request on GitHub.

See all the great people that have contributed in the list of contributors. Make sure to add yourself in your pull request!

License

This software is published under BSD-3-Clause license by Bluegrams.

screenruler's People

Contributors

3t8 avatar alxnull avatar clovergit avatar demigodplayz avatar farshanahamed avatar frejbjornsson avatar id-konstantin-stepanov avatar ilbako avatar joaolfelicio avatar kerlos avatar michelvosje avatar minna-xd avatar sentiww avatar sva1 avatar venusgirl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

screenruler's Issues

Add some zooming?

Would it be possible to add some sort of zooming of the measures portion of screen? I need to measure some small pixel difference between two user interfaces/prototypes and it's hard to position the ruler in the right place as well as interacting with small portions.

Calibration DPI accepts integer numbers only

The feature to measure in physical units would be more useful if one could enter the DPI to a higher precision.

On a HP 27z with a DPI of 163.18 (per specification) attempting to enter that, it rounds down to 163 and the centimeter values are off by what i guess is that factor (at the 150% windows screen scaling). It sums up to about half a centimeter over the screen width, so it is not negligible.

is it possible to start more quickly?

The functions are very convenient and is the best ruler app in windows, but the app seems start slower as a very light exe( only 612kb),it takes about 4s to start, even slower than office, it'll be perfect once start quicker^_^

Scaling error

Hi,
I am using the app to measure graphs with different scales on vertical and horizontal.
Scaling worked properly ones, but no more.
It a big error report, that I do not understand (sorry, it is in spanish):
"
Consulte el final de este mensaje para obtener más detalles sobre cómo invocar a la depuración
Just-In-Time (JIT) en lugar de a este cuadro de diálogo.

************** Texto de la excepción **************
System.OverflowException: Valor demasiado grande o demasiado pequeño para un decimal.
en System.Decimal..ctor(Single value)
en ScreenRuler.CalibrationForm.applyDpiFromSettings()
en ScreenRuler.CalibrationForm.applyDpiScalingMode()
en ScreenRuler.CalibrationForm.comDpiScalingMode_SelectedIndexChanged(Object sender, EventArgs e)
en System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e)
en System.Windows.Forms.ComboBox.WmReflectCommand(Message& m)
en System.Windows.Forms.ComboBox.WndProc(Message& m)
en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Ensamblados cargados **************
mscorlib
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.8.9181.0 built by: NET481REL1LAST_C
Código base: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll

screenruler
Versión del ensamblado: 0.10.0.0
Versión Win32: 0.10.0
Código base: file:///C:/ScreenRuler-v.0.10.0-Portable/screenruler.exe

System
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.8.9214.0 built by: NET481REL1LAST_B
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

CommandLine
Versión del ensamblado: 2.8.0.0
Versión Win32: 0.10.0
Código base: file:///C:/ScreenRuler-v.0.10.0-Portable/screenruler.exe

System.Core
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.8.9214.0 built by: NET481REL1LAST_B
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Windows.Forms
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.8.9181.0 built by: NET481REL1LAST_C
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System.Drawing
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.8.9037.0 built by: NET481REL1
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

AppHelpers.WinForms
Versión del ensamblado: 0.1.1.0
Versión Win32: 0.10.0
Código base: file:///C:/ScreenRuler-v.0.10.0-Portable/screenruler.exe

System.Configuration
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.8.9037.0 built by: NET481REL1
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Xml
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.8.9037.0 built by: NET481REL1
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

Accessibility
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.8.9037.0 built by: NET481REL1
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

PortableSettingsProvider
Versión del ensamblado: 0.2.4.0
Versión Win32: 0.10.0
Código base: file:///C:/ScreenRuler-v.0.10.0-Portable/screenruler.exe

System.Xml.Linq
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.8.9037.0 built by: NET481REL1
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll

Anonymously Hosted DynamicMethods Assembly
Versión del ensamblado: 0.0.0.0
Versión Win32: 4.8.9181.0 built by: NET481REL1LAST_C
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll

screenruler.resources
Versión del ensamblado: 0.10.0.0
Versión Win32: 0.10.0
Código base: file:///C:/ScreenRuler-v.0.10.0-Portable/es/screenruler.resources.DLL

System.Windows.Forms.resources
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.8.9037.0 built by: NET481REL1
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_es_b77a5c561934e089/System.Windows.Forms.resources.dll

Microsoft.GeneratedCode
Versión del ensamblado: 1.0.0.0
Versión Win32: 4.8.9037.0 built by: NET481REL1
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

System.xml.resources
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.8.9037.0 built by: NET481REL1
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml.resources/v4.0_4.0.0.0_es_b77a5c561934e089/System.Xml.resources.dll

Microsoft.GeneratedCode
Versión del ensamblado: 1.0.0.0
Versión Win32: 4.8.9037.0 built by: NET481REL1
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

Microsoft.GeneratedCode
Versión del ensamblado: 1.0.0.0
Versión Win32: 4.8.9037.0 built by: NET481REL1
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

mscorlib.resources
Versión del ensamblado: 4.0.0.0
Versión Win32: 4.8.9037.0 built by: NET481REL1
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_es_b77a5c561934e089/mscorlib.resources.dll

Microsoft.GeneratedCode
Versión del ensamblado: 1.0.0.0
Versión Win32: 4.8.9037.0 built by: NET481REL1
Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

Microsoft.mshtml
Versión del ensamblado: 7.0.3300.0
Versión Win32: 7.0.3300.0
Código base: file:///C:/WINDOWS/assembly/GAC/Microsoft.mshtml/7.0.3300.0__b03f5f7f11d50a3a/Microsoft.mshtml.dll

WindowsDisplayAPI
Versión del ensamblado: 1.3.0.13
Versión Win32: 0.10.0
Código base: file:///C:/ScreenRuler-v.0.10.0-Portable/screenruler.exe

************** Depuración JIT **************
Para habilitar la depuración Just In Time (JIT), el archivo de configuración de esta
aplicación o equipo (machine.config) debe tener el
valor jitDebugging establecido en la sección system.windows.forms.
La aplicación también se debe compilar con la depuración
habilitada

Por ejemplo:

Cuando esté habilitada la depuración JIT, cualquier excepción no controlada
se enviará al depurador JIT registrado en el equipo
en lugar de controlarlo mediante el cuadro de diálogo.
"

Let mi know if I can share more info with you.
Thank you very much in advance and for the app.

Fernando.

Automatic Screen Resolution Adaptation

  1. 我的系统推荐显示器分辨率125%,我要怎么调整尺子才能和我的显示器分辨率一致?

  2. 我有两个显示器,显示器A分辨率125%,显示器B分辨率100%,我在这两个显示器移动尺子时候是否可以自动匹配显示器的分辨率?

  3. My system recommends 125% resolution of the monitor. How can I adjust the ruler to match the resolution of my monitor?

  4. I have two monitors with 125% resolution of Monitor A and 100% resolution of monitor B. Can I automatically match the resolution of the monitor when I move the ruler between the two monitors?
    屏幕截图 2020-11-14 133033

Enlarge ruler calibration window

When calibrated with the method I describe in #31 using a physical ruler on my screen, It would really help if the calibration window was a little wider. Possibly even making it a floating / changeable width.

Ruler calibration is not working

Hi, I have been trying to calibrate my ruler on my 1080p 27 inch monitor. My DPI is 96 and I am using 100% scale on the monitor, but the measurements do not line up when I put a physical ruler up to the monitor. No matter what settings I put, I cannot get the on screen ruler to line up (in inches) with my real life measuring tape

Add & update translations

This project is always looking for help with translation to non-English languages. If the translation to your language is missing, incomplete or has errors, you're very welcome to contribute!

Where are the files to translate?

This project uses Microsoft's .resx file format to store app resources such as UI string. In the repo, every translation has its own .resx file, all of the form <resource-file-name>.<language-code>.resx.

Additionally, there is a help file that needs translation.

How to contribute?

Important: Before contributing a new translation, make sure no open pull request for this language already exists & no one has commented on adding this translation below. Then comment below that you want to add this language.

Start by forking this repository. Resx files are best edited with some additional tooling:

With Visual Studio

  1. Clone your forked repository
  2. ResX Resource Manager is a great tool to edit .resx files. Install the Visual Studio extension and open it via the "Tools" menu.
  3. ResX Resource Manager shows a table of all strings available for translation. Edit them or add a column for a new language via the toolbar.
  4. Translate the help file.
  5. Commit your changes, push and create a pull request. Link this issue in your PR.

Without Visual Studio

  1. Clone your forked repository
  2. ResX Resource Manager is a great tool to edit .resx files. Install the standalone version, run it and select the directory containing your cloned repository.
  3. The tool should now show all the strings available for translation in a table. Edit them or add a column for a new language via the toolbar.
  4. Translate the help file.
  5. Commit your changes, push and create a pull request. Link this issue in your PR.

P.S.: Don't forget to star this repo if you like it!

Call "mode" "orientation" instead

Helloo!

It took me a while to figure out that I can get a vertical ruler with the submenu (DE) "Linealmodus" ("Ruler mode"). I would suggest to call it "orientation" (DE: Ausrichtung) instead. And maybe even add a graphic like ▜ to the name.

The famous "Pixel ruler" is very easy to access in this regard. Especially as changing orientation is the most frequently used function, for me. It is actually pretty unhandy to hide it in a submenu.

not an issue / How to move the Ruler faster?

Hi there,
first of all i want to thank you very much for your time and energy. i use this app for reading so that i don't lose the lines.
The ruler moves now with arrow keys.
I want to ask if its possible that when I press the down arrow key once, the ruler moves more than now, so that I can start reading the next line?
It would be great if it can move a larger distance at once.
Best Regards

Wrong results

Calculates the wrong number of pixels. I think it is because my display is set to 125%?

Marker thickness

Hello,

Great app! Thanks for the latest update!

It would be great if the marker thickness was 1 pixel, not 2. Or maybe an option in Preferences to set it to either one. When it's 2 it's a bit confusing which side of the marker represents the measurement, the first pixel or the second

winget support

winget is essentially chocolately. I'd like to add ScreenRuler to the winget repo, but I need the direct download url, any chance of hosting in GH or supplying the direct urls for the versions? TIA

Yellow live pixel measurement does not track mouse outside ruler

When I move the mouse within the boundaries of the ruler there is a yellow line at the exact position of my cursor, telling me the measurement at that position. However, when I move the mouse outside the boundaries, somewhere right next to it where I want to take measurements, for example, the yellow line remains frozen at the position where the cursor left the boundaries of the ruler.

I would love the yellow line to track my cursor all around the screen.

Display Scaling and Calibration

Update: The display scaling & calibration features are now released in v.0.10.0. See http://bluegrams.com/blog/2022/09/display-scaling-and-calibration-with-screenruler.html for explanation.

As the current version of ScreenRuler has various issues with display scaling (issues #28, #31, #45, #51), high-DPI monitors and calibration, version 0.10.0 tries to introduce a new scaling/ calibration mechanism.

This feature is currently tested. You can find a pre-release build here: https://sourceforge.net/projects/screenruler/files/pre-release/ScreenRuler-v.0.10.0-Portable.zip/download. Please try it out and give feedback below, especially if something does not work as expected.

Detailed explanation

Since v.0.10, ScreenRuler is per-monitor DPI-aware by default, i.e. it ...

  • ... automatically and dynamically scales the UI according to Windows' display scaling settings of the current monitor
  • ... can adjust ruler scales according to Monitor pixel densities

The latter feature can be configured in the app via the ruler calibration dialog, which can be accessed either via the context menu (Calibrate Ruler) or by pressing Ctrl+K.

Ruler calibration provides multiple built-in DPI scaling behaviors with different characteristics that are suitable for different use cases:

  • Use scaled pixels: Ruler scales will be based on the virtual/logical DPI values provided by Windows (i.e. 96dpi by default). Additionally, the ruler scale will be scaled corresponding to Windows' display settings for scaling on high-DPI monitors (e.g. assuming 120dpi for a scaling of 125%).

    • When to use? Use this mode to measure items that are scaled by the OS and/or unaware of monitor pixel densities.
      Measurements in this mode might not correspond to physical "off-screen" dimensions.
  • Automatic (per-monitor): Ruler scales will be based on the raw DPI values of each monitor, as provided by the OS. Note that raw DPI values might differ slightly for each monitor and might not match virtual or scaled DPI values directly.
    In this mode, the ruler scale is dynamically adjusted to the raw pixel density of the current monitor.

    • When to use? This mode should provide the most accurate mapping from physical "off-screen" dimensions to "on-screen" dimensions.
      Use this mode to accurately measure items in physical dimensions (such as inches, centimeters etc.)
  • Manual: Manually specify monitor DPI values on which ruler scales will be based. There are two ways to do this: You can directly specify a custom DPI value in the ruler calibration dialog under Monitor DPI -> Horizontal Scaling (DPI)/Vertical Scaling (DPI). Or, you can calibrate ruler scales from the current dimensions of the ruler under the Measuring Unit tab (see Examples). Ruler scales will always be computed from this fixed pixel density value independent of current display scaling or monitor DPI.

    • When to use? Use this mode to calibrate ruler scales independent of OS-based automatic display scaling or monitor pixel densities.
      Useful e.g. if automatic scale adaptations fail or to adjust to an application-specific scale.
  • Manual (per-monitor): Similar to Manual, however, instead of specifying one global DPI value, allows different configurations for each connected monitor. Select the monitor to calibrate from the dropdown below the scaling behavior selection.

    • When to use? To calibrate ruler scales in multi-display setups where each display requires a different calibration.
      Especially useful if automatic scale adaptations fail.

Add colour picker

A colour picker included in this program kind of makes sense to me... 😊

add option to save settings

I read that settings are not saved, but can an option be added to be able to set default options(e.g; I don't want to set "stay on top on every" rules I open, even whit a simple shortcut.

This would allow users to set their default settings and leet them get their work done faster.

PS. I downloaded the repo and the AppHelpers.Winforms nuget is misssing.

Resize Height

I wish you could also resize the height as well as you can resize the width

Follow ruler with cursor function causes a locked on property

The cursor was not on the ruler when I clicked on the "Follow ruler with cursor" option. Now, since the ruler moves when I move the cursor, I can't get the cursor back on the ruler. Ergo, I cant use any of the features allowed by a right click.

Also, I'd like to uninstall and reinstall ScreenRuler. I can's seem to uninstall it no mater what I try.

Thanks.

Tony

Markers misplaced on Flipped ruler

Thank you for this elegant and useful tool.

However, when the ruler is in flipped modes, markers appear in incorrect positions. Also, trying to close "Edit Markers" windowlet can crash program after "Clear All Markers" is invoked while windowlet is open.

[EDIT] Version: This report applies to version 0.9.0.

Reproduce error:

  • Clear all Markers.
  • Put ruler in "un-flipped" position, with origin at upper left
  • Confirm correct marker function with a couple of markers.
  • Flip ruler horizontally, existing markers are correctly transposed.
  • Newly set markers appear in the inverse position from their placement.
  • Flip ruler horizontally (back to initial). Existing markers are preserved and transposed, and new markers are correctly placed.

Similar behavior with vertical ruler.

When two-dimensional ruler is set, and one or both axes are flipped, markers set on the horizontal axis appear on the vertical axis, not clearly corresponding to intended horizontal position. Vertical axis markers don't place at all, or sometimes appear on the horizontal axis.

To reproduce the Edit Marker windowlet behavior:

  • Set some markers.
  • Open the Edit Markers windowlet.
  • Invoke Clear All Markers.
  • Try to close the Markers windowlet. App throws error:
InvalidArgument=Value of '-1' is not valid for 'index'
Parameter name: index

(See full details at end of post)

Expected behavior:

  • Markers are correctly placed on the correct axis when ruler is in flipped modes.
  • Edit Markers windowlet closes when last marker is deleted, or survives being emptied.

Flipping the ruler, especially in combination with the two-axis mode, is one of the most useful features of the app, I hope it can be preserved. Thank you again for this program.

Error details (for Markers windowlet):

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: InvalidArgument=Value of '-1' is not valid for 'index'.
Parameter name: index
   at System.Windows.Forms.ListBox.ObjectCollection.get_Item(Int32 index)
   at ScreenRuler.Controls.MarkerListBox.OnDrawItem(DrawItemEventArgs e)
   at System.Windows.Forms.ListBox.WmReflectDrawItem(Message& m)
   at System.Windows.Forms.ListBox.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4400.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
screenruler
    Assembly Version: 0.9.0.0
    Win32 Version: 0.9.0
    CodeBase: file:///C:/ProgramData/chocolatey/lib/screenruler/tools/screenruler/screenruler.exe
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4360.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
CommandLine
    Assembly Version: 2.8.0.0
    Win32 Version: 0.9.0
    CodeBase: file:///C:/ProgramData/chocolatey/lib/screenruler/tools/screenruler/screenruler.exe
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4390.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4400.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4390.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
AppHelpers.WinForms
    Assembly Version: 0.1.0.11
    Win32 Version: 0.9.0
    CodeBase: file:///C:/ProgramData/chocolatey/lib/screenruler/tools/screenruler/screenruler.exe
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4190.0 built by: NET48REL1LAST_B
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
PortableSettingsProvider
    Assembly Version: 0.2.3.0
    Win32 Version: 0.9.0
    CodeBase: file:///C:/ProgramData/chocolatey/lib/screenruler/tools/screenruler/screenruler.exe
----------------------------------------
Anonymously Hosted DynamicMethods Assembly
    Assembly Version: 0.0.0.0
    Win32 Version: 4.8.4400.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Reverse scale? Zero on right

Many thanks for the software1
I was looking for a scale that could be configured to reverse the scale on a web page.
Cycle racing - shows Km ridden, I want Km to go.
Screen ruler is easily configured to show an identical scale, all I need is for the scale to be reversed. Maximum on left, zero on right.
Any chance?
Alan

Current mouse position hard to read

The position of the current mouse position can not be read since the normal text on the ruler is in the same place. See figure below

image

image

I think I already tried all different settings

Feature Req: Command Line Configuration / Switches

Would be great to be able to either:

  1. Be able to specify a different config file with a command line parameter (ex. if I had one config I use in one program and another I use with a different, or one for light mode another dark, etc...)
    or
  2. Be able to set certain options directly (which override the config file for the session (but don't write to it)) - i.e. if my config is setup with the ruler in dark mode, if I invoke a second instance like "screenruler.exe /light" the second ruler would be in light mode but not change my config file for normal use.

add the ruler to the taskbar

I have the screenruler pinned to my taskbar. However when I click it to open, a new rules gets opened on each click. Can every ruler be added to the taskbar just like regular programs to avoid multiple instances from opening when only 1 active instance is needed(multi instance is ok, just show that there are active ones)

App crashes on disconnected screen

In an attempt to physically rotate the screen, i accidentally turned the screen off. On turning it on again, i was greeted with following error message:

System.ComponentModel.Win32Exception (0x80004005): Ein an das System angeschlossenes Gerät funktioniert nicht
   bei WindowsDisplayAPI.DisplayConfig.PathDisplayTarget.get_DevicePath()
   bei WindowsDisplayAPI.DisplayConfig.PathDisplayTarget.<ToDisplayDevice>b__40_1(DisplayDevice device)
   bei System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
   bei WindowsDisplayAPI.DisplayConfig.PathDisplayTarget.ToDisplayDevice()
   bei ScreenRuler.Configuration.Monitor.MonitorInfo..ctor(PathDisplayTarget pathDisplayTarget)
   bei ScreenRuler.Configuration.Monitor.MonitorInfo.<>c.<GetMonitorInfos>b__14_0(PathDisplayTarget d)
   bei System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   bei System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   bei System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   bei ScreenRuler.Configuration.Monitor.MonitorInfo.GetMonitorInfos()
   bei ScreenRuler.RulerForm.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

How to reproduce:

  1. Start ruler app
  2. disconnect/turn off screen
  3. connect/turn on screen

More details:
I used a two screen setup. The app was running on the screen not turned off, but Windows reconfigured the screens and the error popped up, so i assume the same error will happen with only one monitor.

Ruler Increments

When I open the ruler and change it to Inches, the increments are in 10ths. Most rulers are set to 16ths. Is there a way to change this?

Enhancement

Requested :

  1. Export Markers : Allow users to export the marker(s) (one, many, or entire list) with common copy-paste keyboard shortcuts, or with mouse functions.
  2. Allow the ruler to lock and Zoom. (it may not give exact reading, acceptable to a level). This allows users to allow measure -relatively accurate, even when the object is Zoomed on screen.

Detail Explanation :

  1. User sets the scale to PDF page Size (on any reader.
  2. Locks the ler length. Ruler is sitll stretchable but dimensions won't change.
  3. User Zooms into the PDF page for better viewing.
  4. Stretches the scale and eyeball aligns from left of page to right of page, giving same ruler dimensions. Scale has to re-calculate to match the stretch, within same fixed length.

Chinese Translation

Hi,Bluegrams,thank you for your awesome work,especially for the new 0.5 version which added calibrate Ruler。I am a beginner for winform. When you released the 0.5* version 30 minutes ago, I just finished the software localization of 0.4 version. After a few days, I will finish the localization of the new version. Sorry I don’t use much of git. I need to be familiar with it. When i finish it,I will pull for merge。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.