Векторный штрих настоящими чернилами
тестовая доска
EMR-TEST is a lightweight Windows whiteboard and device-testing tool: it restores real ink in real time through a “sample → pressure shaping → curve fitting → vector outline” pipeline, with SAI-style jitter correction, pressure gain, a device telemetry HUD, capacitive multi-touch test and a ghost mode, and exports PNG bitmaps or JSON vector ink.
Текущая 1.5.0.0 · ~2355 КБ · скачайте и запускайте
Ради настоящего ощущения пера
Большинство досок упрощают штрих до равномерной ломаной: круги становятся угловатыми, быстрые линии рвутся, а нажим кажется жёстким. EMR-TEST перестраивает всё от источника: сохраняет каждый отчёт оборудования, подгоняет центростремительный сплайн Catmull-Rom и строит контур переменной ширины по каждой точке, отправляя его инкрементально каждый кадр — естественная толщина настоящих чернил сохраняется, а длинные линии остаются плавными.
Точное воспроизведение штриха
Сохраняются все аппаратные отсчёты (включая объединённые события); нажим, скорость и вход/выход пера вместе определяют ширину, поэтому предпросмотр и итоговый штрих совпадают точка в точку.
Коррекция дрожания в стиле SAI
Регулируется 0–10 (по умолчанию 3): задержанный отсчёт + итеративная гауссова подгонка + следящий кончик пера убирают дрожь, а при подъёме перо плавно доходит до реальной конечной точки.
Регулируемое усиление нажима
Усиление нажима 0–10 (по умолчанию 3): 0 — постоянная ширина, выше — контраст нажима сильнее; на устройства с нажимом переключатель не влияет.
Матрица возможностей
От письма и тестов до экспорта — полный цикл для отладки и демонстрации пера.
Четыре типа пера
Карандаш (графитовая зернистость), шариковая ручка (округлая, лёгкий нажим), кисть (сильный нажим + вход) и маркер (полупрозрачный плоский кончик, одна заливка без затемнения).
Проверка устройств
Перечисляет устройства письма / нажима и показывает бренд, протокол, уровни нажима, наклон, боковые кнопки, ластик и VID:PID; по два в ряд с удалением по одному.
Сенсорный тест
Мультитач-точки, сенсорные следы, телеметрия нажима и частота опроса; следы строятся квадратичными кривыми Безье по средним точкам с шириной по нажиму, есть переключатели сетки и сохранения следов.
Режимы «прозрачный / блокировка»
Прозрачный режим освобождает слой письма, позволяя писать прямо поверх рабочего стола; оба режима хранят штрихи, изображения и историю отдельно и не смешиваются при переключении.
Изображения и преобразования
После вставки снимка / изображения его можно двигать, масштабировать за углы и свободно вращать; рамка и курсор следуют за преобразованием, есть слои и сброс.
Экспорт и сохранение
Сохранение = экспорт: PNG (с бумагой и картинками) или векторный штрих JSON (тип пера, ширина, цвет, переключатель нажима и все отсчёты); после сохранения доска очищается.
Панель инструментов и HUD
The bottom toolbar collapses / expands with one click; hover 1s for the move handle, hold to drag the whole toolbar and release to drop it. On maximize / restore or a logo click in penetration mode, the toolbar and HUD automatically return to their initial position. The HUD shows device, protocol, output, contacts, coordinates, pressure, Pressure Levels, pen count, tilt and report rate live.
Панель по логотипу
Панель справа сверху скрыта по умолчанию; щёлкните логотип, чтобы открыть изменения, переключение языка и кнопки окна.
Мультиязычность
Интерфейс поддерживает 36 языков; переключение на лету и запоминание выбора, при первом запуске — по системному языку.
Больше типов пера
Перьевая ручка (плавная), тонкий маркер (тонкий), мел (реалистичный) и лазерное перо (полупрозрачное, автоматически исчезающее) дополняют четыре основных типа, охватывая от письма до презентации.
Предпросмотр нажима
Отдельное окно предпросмотра нажима показывает живой контур штриха и кривую нажима; вы можете изменить отклик нажима, чтобы откалибровать ощущение перьев без нажима или с неисправным датчиком.
Предпросмотр наклона
Живая телеметрия наклона устройства: азимутальный диск плюс индикаторы осей X / Y / Z и показания Tilt X / Tilt Y / Azimuth визуализируют наклон и ориентацию пера в реальном времени.
Совместная работа в реальном времени
Синхронизируйте доску в реальном времени через официальный relay, с режимами только чтение / демонстрация, чтобы несколько человек могли делать пометки и писать на одной доске.
Обмен работами
Один клик создаёт код работы / URL-код и ссылку для обмена; сжатый JSON проекта загружается и распространяется через QR-код или ссылку, без регистрации.
Воспроизведение штрихов
Воспроизводите создание чернил штрих за штрихом на временной шкале — полезно для обучения, проверки письма и контроля линейности нажима.
Снимки экрана
Захват всего экрана и области; захваченные изображения попадают прямо на доску для аннотирования. Esc или правая кнопка мыши отменяет захват области.
Журнал изменений
Окно журнала изменений в приложении синхронизировано с сайтом, поэтому вы можете в любой момент просмотреть изменения и новые возможности каждой версии.
Беспроводной экран
Отправьте текущий холст всем приёмникам одной комнаты (телефон, большой экран, другой ПК): достаточно отсканировать QR или открыть ссылку; частота кадров и качество настраиваются, канал тот же, что у совместной работы.
Письмо по зонам
Делит холст на 2 / 3 / 4 / 6 / 9 зон по горизонтали или вертикали; при синхронном письме каждый штрих копируется во все зоны.
Обратная связь и поддержка
Сообщение об ошибке, идея функции, поддержка или другое — с именем, контактом и скриншотом; десктоп и веб отправляют на один сервер, встроены пять QR для оплаты.
Прикрепление окон
Перетащите окно к краю холста — оно превратится в шар со своей иконкой; щелчок по шару восстанавливает окно, шар следует за цветом холста и переживает перезагрузку.
Новые горячие клавиши
Alt+C экран · Alt+Z зоны · Alt+O отзыв; Ctrl+T ёмкостный тест и Ctrl+D проверка устройств переехали в верхнюю панель и скрываются в режиме прохода.
Запись и камера
Под основной панелью раскрывается панель записи: мигающий индикатор, старт / пауза / стоп, шкала времени, отключить микрофон, камера вкл / выкл, телепромптер и сохранение. Камера показывается в левом верхнем углу холста, перетаскивается целиком и несёт ту же панель, что и страница воспроизведения.
Многостраничный холст
Колонка номеров страниц у края холста: значок креста добавляет страницу, а после пяти страниц сверху и снизу появляются полые треугольники (колесо мыши прокручивает список). Страницы удаляются и переставляются перетаскиванием; над серединой верхней или нижней кромки всплывает треугольник перелистывания.
Масштаб и пипетка
Ряд чистых пиктограмм в левом нижнем углу: заблокировать холст / уменьшить / 100% / увеличить / сброс. Колесо масштабирует холст, а при блокировке регулирует толщину линии; в панели пера появились образец цвета, палитра образцов и пипетка для взятия цвета с холста.
Конвейер отрисовки
Предпросмотр в реальном времени (поток пера) и итоговый штрих используют один алгоритм и одну кривую ширины, поэтому изображение при подъёме пера не меняется.
Отсчёт
Принимает сырые пакеты Stylus, разворачивает объединённые события и читает координаты и NormalPressure каждой точки.
Стабилизация
Окно задержанной подгонки HcStab: выборка по радиусу + гауссовы итерации 1-2-1 + следящий кончик пера; ряд нажима фильтруется синхронно.
Формирование
Генератор ширины вычисляет ширину каждой точки по типу пера, нажиму, скорости и входу, с экспоненциальным сглаживанием и подавлением дрожания.
Отрисовка
После центростремительного разбиения Catmull-Rom строится ленточный контур, заливаемый один раз; полупрозрачные перья заливают весь путь один раз без затемнения.
// 抖动補正核心:延迟采样 + 高斯迭代拟合 + 跟随态笔尖 alpha = hcJitterAlpha(jit); // 1 / (1 + 0.5 * jit),jit = 0~10(默认 3) iter = 2 + round(jit * 0.5); // 高斯迭代遍数(上限 8) radius= 8 + jit * 0.8; // 拟合窗口半径(上限 16px) press = 3 + round(jit * 0.5); // 压感序列过滤遍数 delay = round(jit * 0.4); // 延迟采样数(上限 4) tip = lerp(tip, fit[count - 1 - delay], alpha); // 笔尖天然滞后 = SAI 手感 onPenUp: emit smoothChase(tip -> realEnd); // 抬笔补齐,收笔不缺一截 // 曲线:向心参数化 Catmull-Rom(α = 0.5),采样疏密不均也不过冲、不打圈 // 成图:沿细分点按切线法向左右偏移 → 单一闭合带状轮廓一次填充
Распознавание устройств и протоколы
Автоматически разбирает устройства Tablet, о которых сообщает система, определяет бренд и протокол по ключевым словам и VID/PID и показывает возможности в реальном времени.
Поддерживаемые протоколы
EMR (электромагнитный резонанс), AES (активный электростатический), MPP (протокол Microsoft Pen) и USI (универсальный стилус); пассивные ёмкостные перья и мышь выделены отдельно, неопознанные устройства появляются только после использования.
Телеметрия HUD
Показывает тип устройства, бренд, протокол, выход (кончик / боковая кнопка / ластик / наведение), число касаний, координаты, нажим, уровни, число перьев, наклон и частоту опроса.
Оптимизация под высокочастотный ввод
Все горячие пути рассчитаны на инкрементальную работу за кадр, поэтому длинные быстрые линии не замедляются.
Инкрементальная отправка
Слой следов дополняется через DrawingGroup; новая точка отправляется сразу, без полной перерисовки, что исключает задержку.
Переиспользование кэша
Кисти и перья кэшируются и замораживаются по «цвет + квантованная ширина», безопасно между потоками без повторных выделений.
Перерисовка по необходимости
Сетка и статические слои перерисовываются только при смене размера / переключателя; активный слой перерисовывает только активные элементы.
Технические характеристики
| Пункт | Значение |
|---|---|
| ОС | Windows 10 / 11 (рекомендуется); работает с Windows 7 SP1 и выше |
| Среда | Microsoft .NET Framework 4.8 |
| Архитектура | x64 (рекомендуется) и x86, обе со сборками Debug / Release |
| Устройства ввода | Перья EMR, активные ёмкостные AES / MPP / USI, пассивные перья, сенсорные экраны, мышь |
| Нажим | Уровни зависят от устройства; усиление нажима 0~10 (по умолчанию 3), можно отключить для постоянной ширины |
| Коррекция дрожания | 0~10 (по умолчанию 3), задержанная подгонка + итерации Гаусса + догон при подъёме |
| Типы пера | Карандаш, ручка, кисть, маркер (одна полупрозрачная заливка) |
| Стирание | Ластик (по реальной ширине отрисовки), удаление штриха, лассо; индикаторное кольцо совпадает с областью 1:1 |
| Экспорт | PNG (с бумагой и картинками), векторный штрих JSON (стиль + все отсчёты) |
| Интерфейс | Тёмно-синяя тема, карточки без рамок, перетаскиваемая панель и HUD, F11 на весь экран, режимы прозрачный / блокировка |
| Размер | Один файл около 2355 КБ, без установки |
Начните писать в три шага
Скачать и запустить
Выберите сборку x64 (или x86), скачайте и запустите двойным щелчком — установка не нужна.
Выберите перо и нажим
Панель → панель пера: выберите тип, ширину и цвет, при необходимости настройте усиление нажима и коррекцию дрожания.
Пишите и тестируйте
Пишите сразу; Ctrl+T открывает сенсорный тест, Ctrl+D — проверку устройств, чтобы видеть кривую нажима и частоту.
Экспорт
Ctrl+S сохраняет в PNG или JSON; доска автоматически очищается для следующего круга.
Скачать EMR-TEST
Официальный сайт: https://www.emr-test.com · портативный один файл, скачайте и запускайте.
Версия 1.5.0.0 (2026-09-16)
Windows · .NET Framework 4.8 · около 2355 КБ каждый
64-бит (рекомендуется)
Скачать x64 ↓32-бит
Скачать x86 ↓* Требуется .NET Framework 4.8 (обычно уже есть в Windows 10 и выше).
Изменения
Изменения по версиям в одном месте; окно в приложении совпадает с этим списком.
v1.5.0.0-09-16
Панель справа сверху скрыта по умолчанию (открывается по логотипу);языков стало 36 с автоопределением системного;список языков удобнее;все подсказки переведены;сайт переключается по IP.
v1.4.0.0 · 2026-06-16
Добавлены переключатель языка и раздел «Изменения»;коррекция дрожания обновлена до стиля SAI (0~10).
v1.3.0.0 · 2026-03-15
Курсоры преобразования изображения следуют направлению;удаление и восстановление устройств по одному;сенсорные следы с малой задержкой;исправлено меню правой кнопки.
v1.2.0.0 · 2026-02-14
Сглаживание ломаной заменено на центростремительный Catmull-Rom;добавлены кольцо ластика, сохранение кистей и экспорт JSON.
Горячие клавиши
Любое действие выполняется с клавиатуры. Таблица перечисляет все сочетания по категориям.
Ctrl+BПанель пераCtrl+PЦвет чернилCtrl+IВставить изображениеCtrl+GФонCtrl+ZОтменитьCtrl+Y / Ctrl+Shift+ZПовторитьCtrl+EЛастикCtrl+DeleteОчистить доскуCtrl+SСохранить и очиститьCtrl+MРежим мышиCtrl+1~4Тип пера (карандаш / шарик / кисть / маркер)Ctrl+5~7Режим ластика (стирать / точка / лассо)[ / ]Толщина линии ([ / ] или колесо)Ctrl+TЁмкостный тестCtrl+DОбнаружение устройстваCtrl+OИмпорт изображенияCtrl+Shift+GПрозрачность / блокF11 / FСкрыть / вернуть панель (полный экран)Ctrl+Shift+DСвернуть / развернуть панельCtrl+Shift+RСброс панели и HUDCtrl+Shift+DeleteИнициализировать доскуEscВыходAlt+S / Alt+NСнимок / вырезAlt+G / Alt+F / Alt+D / Alt+PФон / без касания / курсор / нажимCtrl+Shift+M / Ctrl+Shift+FСвернуть / развернутьCtrl+Shift+[ / ] · ←/→ · DelИзображение (слой / поворот / удаление)Ctrl+Shift+1~4Типы пера: перьевая / шариковая / мел / лазерCtrl+Shift+SПоделиться работойCtrl+Shift+CСовместная работа в реальном времениCtrl+Shift+PВоспроизведение штриховCtrl+Shift+OИмпорт проекта (.json)Ctrl+Alt+SСкорость влияет на толщинуCtrl+Alt+TНаклон влияет на ширинуCtrl+Alt+HЖурнал измененийCtrl+Alt+LПереключатель языкаAlt+1~4(Alt+Shift+1~4 Обратно)Точная настройка давления / скорости / дрожания / непрозрачностиCtrl+← / Ctrl+→Повернуть выбранное изображение на ±90 градусовAlt+CБеспроводной экранAlt+ZПисьмо по зонамAlt+OОбратная связьCtrl+T / Ctrl+DЁмкостный тест / проверка устройств (верхняя панель)Esc / Ctrl+EnterВ окнах: закрыть / основное действие (трансляция · зоны · отправка)Alt+RПанель записи (запись / камера / телепромптер)Ctrl+Alt+RТелепромптер (прокручиваемый текст, скорость и размер)Alt+IПипетка: взять цвет с холста как цвет пераAlt+KЗаблокировать / разблокировать холст (при блокировке колесо — толщина)PageUp / PageDownПредыдущая / следующая страницаCtrl+Alt+N / Alt+DeleteНовая страница / удалить текущуюCtrl+= / Ctrl+- / Ctrl+0Увеличить / уменьшить / сбросить масштаб холстаMОкно воспроизведения: звук вкл / выклAlt+XОстановить записьAlt+MМикрофон: отключить / включить звукAlt+VКамера: вкл / выклAlt+TНастройки записиAlt+YСохранить записьAlt+QЗакрыть панель записиВопросы
Работает ли с устройствами без нажима?
Да. Без нажима программа имитирует толщину по принципу «медленнее = толще»; можно также выставить усиление 0 для постоянной ширины.
Что будет, если коррекция дрожания слишком велика?
Чем больше значение, тем больше задержанных отсчётов и шире окно: линии плавнее, но штрих запаздывает и отклик медленнее. Значение 3 по умолчанию — баланс; настраивайте от 0 до 6 под свою скорость.
Зачем «Рисовать следы» в сенсорном тесте?
Выключено — показывает затухающую точку вслед за касанием (наблюдать отклик); включено — рисует след как сохраняемые линии, ширина которых следует нажиму, что удобно для проверки обрывов, дрожания и линейности.
Что содержит экспорт JSON?
Тип пера, ширину, цвет, переключатель нажима, параметры дрожания и все отсчёты (x / y / нажим) каждого штриха — векторные данные для воспроизведения, анализа или повторной отрисовки.
Влияют ли прозрачный и обычный режимы друг на друга?
Нет. Каждый режим хранит свои штрихи, изображения и историю, при переключении они не смешиваются; прозрачный режим освобождает слой письма для пометок на рабочем столе.
Обратная связь
- Сообщение об ошибке
- Идея функции
- Поддержка
- Другое
Посмотрим как можно скорее; скриншот и контакт ускорят поиск причины.