ПроектыФорумУтилиты

Экранная линейка с калибровкой

#0
(Правка: 2 ноя 2025, 7:02) 7:33, 1 ноя 2025

Screen Ruler - Экранная линейка [C# WinForms]

Изображение

Хочу поделиться утилитой, которую давно разрабатываю для себя и которая, надеюсь, будет полезна сообществу. Все началось с простой экранной линейки, но со временем проект оброс функционалом и превратился в компактный 2D-инструмент для измерений и аннотаций, работающий поверх всех окон.

Основная задача, которую он решает — анализ геометрии и размеров на любом изображении на экране: будь то чертеж, карта уровня, UI-макет или концепт-арт. Главная фича — возможность откалибровать масштаб (например, "128 пикселей = 2 метра") и работать дальше уже в игровых единицах.

Ключевая концепция: Режим "Холста" (Canvas)

По нажатию [C] программа делает скриншот текущего монитора и использует его как статичную подложку. Дальше вы работаете не с "живым" экраном, а с этим "холстом", который можно панорамировать, и на котором все измерения остаются на месте, даже если под линейкой уже другое окно.

Основные возможности:

Управление:

Проект полностью открыт. Готовый .exe можно скачать в разделе Releases на GitHub.

Ссылка на репозиторий:

https://github.com/hardway777/ScreenRuler

Надеюсь, инструмент окажется полезным. Буду рад любому фидбеку, предложениям и баг-репортам в Issues на GitHub.

#1
13:15, 1 ноя 2025

Blueprint
По поводу управления:
Дублируется ли действие с ЛКМ на пробел, а СКМ на Escape?

Иногда для точного попадания лучше наводить мышкой, а отметки ставить с клавиатуры, чтобы минимизировать эффект "дрогнувшей руки".

#2
13:26, 1 ноя 2025

Vitorio ты имеешь ввиду движение мышкой при щелчке? Я добавлю. Но в будущем наверно добавлю увеличение по колесику для более точного позиционирования.

#3
13:34, 1 ноя 2025

Blueprint
> ты имеешь ввиду движение мышкой при щелчке?
Да. Пока пользователь прожимает ЛКМ, рука может двинуть мышь.

#4
14:09, 1 ноя 2025

Vitorio добавил версию 3.1
При зажатии CTRL - курсор мыши не двигается.

#5
3:52, 2 ноя 2025

Новые возможности:
    -  Добавлен интерактивный режим перекалибровки (`R`) для установки масштаба по нарисованной линии.
    -  Добавлено сохранение/загрузка сессии в сжатый файл `.sez`, включая захваченное фоновое изображение.
    -  Приложение теперь может открывать файлы `.sez`, переданные через командную строку.
Улучшения и исправления:
    -  Переработана логика перетаскивания мышью для интуитивного панорамирования холста и "вьюпорта".
    -  Улучшен инструмент "Сетка" с умным размером по умолчанию и более плавной, пропорциональной настройкой.
    -  Улучшено позиционирование текста для всех фигур для лучшей читаемости.
    -  Исправлена ошибка, из-за которой текст состояния мог накладываться на шкалу линейки.

https://github.com/hardway777/ScreenRuler/releases/latest

#6
7:01, 2 ноя 2025

в пятой версии добавлена возможность перспективного измерения на сетке.

Изображение
#7
12:32, 4 ноя 2025

Можно дополнить измерителем искажений и перспективы, чтобы по такому фото как вот это со зданием можно было строить матрицу перспективы

#8
12:46, 4 ноя 2025
Изображение
#9
13:31, 4 ноя 2025

Storm54 она появилась не просто так. Мне приходится часто изменять объекты на экране.

httpd
> Можно дополнить измерителем искажений и перспективы, чтобы по такому фото как вот это со зданием можно было строить матрицу перспективы.
Ты имеешь ввиду параметры камеры? Указывать оси линии на изображении и по ним строить?
Я думаю потом добавить такую функцию.

#10
14:54, 4 ноя 2025

Пофиксил баг в версии 5.1
- при повторном захвате фигуры смещались.

ПроектыФорумУтилиты