Разработка компоненты (C++) для измерения показателей дисплеев для 1С.
Наша цель - получить числовые показатели замера цветовых параметров дисплея с колориметра, подключаемого по USB, и передать их в клиентское приложение 1С 8.3 на том же компьютере.
Т.е. пользователь прикладывает колориметр к дисплею, нажимает на кнопку в 1С, 1С обращается к компоненте (либо через api напрямую к программе), функция компоненты возвращает показатели замера.
Мы используем для замеров колориметр Datacolor Spyder 5 Express и программу с открытым кодом HCFR Colormeter (https://sourceforge.net/projects/hcfr/). Вы можете использовать ее исходные коды для разработки механизма получения данных с колориметра Datacolor Spyder 5 Express.
Рассматриваем следующие возможные варианты реализации:
1.Приоритетный вариант.
Создание Native API компоненты для клиентских приложений платформы 1С:Предприятие 8.3 работающих под ОС Windows.
Внешняя компонента системы«1С:Предприятие» представляет из себя DLL-библиотеку.
В компоненту необходимо добавить соответствующие функции, на основе исходных кодов HCFR Colormeter, для получения показателей с колориметра.
Все параметры в компоненте должны быть предопределены “по умолчанию” (в соответствии со стандартными настройками десктопной версии программы (если в них есть необходимость, возможно все
необходимые данные возвращает сразу колориметр)).
Необходимо обеспечить в компоненте возможность передачи в метод компоненты,выполняющий измерения (либо в отдельный метод для установки настроек после
подключения компоненты), модель сенсорав качестве параметра вызываемой функции. (Если модель сенсора влияет на
настройки, то произвести соответствующие изменения настроек в компоненте перед замером). В данный момент мы используем колориметр Datacolor Spyder 5 Express, но в будущем возможны другие модели.
2 Вариант. Разработка отдельной COM компоненты вместо NativeApi, если по каким-то причинам его нельзя реализовать.
К примеру как происходит работа из 1С сдокументами Word через Word.Application.
Word = Новый COMОбъект("Word.Application");
Word.Documents.add(ИмяФайла);
DocWord = Word.Application.Documents(1);DocWord.Activate();
Если возможно, аналогично 1 варианту, можно разместить функции выполняющие получение данных с колориметра в отдельный компоненте.
1С должна иметь возможность подключить компоненту похожим образом и получить показатели измерений.
НашаНоваяКомпонента = Новый COMОбъект("Colorimetr");
НашаНоваяКомпонента.ВыполнитьИзмерение();
3 Вариант. Разработка API для Windows версии программы HCFRColormeter, например дополнение к программе HCFR в виде веб-сервера, который работает только в рамках компьютера пользователя, куда сможет отправить запрос
клиентское приложение 1С и вызвать функцию выполнения замера. (Реализация
варианта с API на вашеусмотрение)
=================================================================
Колориметр Datacolor Spyder 5 Express (HCFRColormeter поддерживает данное устройство) https://www.datacolor.ru/products/31/
Драйвера для данного устройства можно установить вместе с программой DisplayCal https://displaycal.net/ (описание процесса установки есть в инструкции)
Инструкция по установке и настройке https://drive.google.com/file/d/1ITcYzmi0o0hTMmG3jytHyRweNddjz16_/view?usp=sharing
В программе HCFR Colorimeter есть функция, которая производит разовый замер при нажатии на кнопку, и выводит
указанные параметры на график, именно она нам нужна. В создаваемой компоненте должна содержаться аналогичная функция, выполняющая получение данных с внешнего сенсора (колориметра), подключенного к компьютеру через USB.
Вызов метода компоненты должен возвращать числовые результаты 1 замера параметров дисплея в виде строки в формате JSON (либо в другом понятном платформе 1С формате) со следующими показателями измерений:
Luminance = Яркость
RGB Levels = РасхождениеRGB уровней в %
Color temp = Цветоваятемпература
Пример результата вызова функции компоненты:
{ “Luminance” :"250.3547",
"RGBLevels": '20.432',
"ColorTemp": “6450”
}
Примечание: Выполнять калибровку или еще что-то не нужно, колориметр необходим только для получения
3х указанных выше показателей дисплея.
Замер производится следующим образом.
1.Наэкране телефона или планшета открывается картинка
белогоцвета (r:255, g:255, b:255) при отключенной функции
«автояркость»и установки режима максимальной подсветки.
2.Датчик прикладывается к экрану.
3.Нажимется кнопка разового замера показателей.
=================================================
В отклике на проект просим указать (выбранный вами вариант реализации/стоимость/сроки выполнения)