Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Как преобразовать изображение в строку символов

v7: Как преобразовать изображение в строку символов
Я
   gugolovski
 
21.12.20 - 10:29
Требуется прогрузить логотип на весы.
В документации к весам говориться, что картинка/логотип должна быть прогруженна в виде строки байтов в 16-й системе.
Дословно:
**********************************************
SendLogoImage
Описание:
Метод реализует транзакцию передачи в весы матрицы точек для формирования изображения программируемого значка для товара.
Данные представляют собой строку байтов в 16-ричной системе записи - всего 512 байтов - 1024 символа

Пример использования:
1С Предприятие:
    КодОшибки = Весы.ПередатьТоварнЗнак("1F23…BD11");

**********************************************

А как превратить изображение в строку символов. Может есть сервис какой?
   trdm
 
1 - 21.12.20 - 10:42
   trdm
 
2 - 21.12.20 - 10:42
Это?
   trad
 
3 - 21.12.20 - 11:26
(1) HEX же нужен
   SiAl-chel
 
4 - 21.12.20 - 11:28
   trdm
 
5 - 21.12.20 - 11:56
(3) ну да.
А бинарик чем читать? WBS стримом?
   trad
 
6 - 21.12.20 - 12:01
(5) Чем читать бинарник - другой же вопрос (хоть стримом, хоть 1с++Binarydata)
Но base64 - точно мимо.
   trdm
 
7 - 21.12.20 - 12:04
Любопытно, а если конвертнуть картинку в x16 а потом пожать зипом, она меньше станет, чем её просто пожать зипом.
   d4rkmesa
 
8 - 21.12.20 - 12:25
   gugolovski
 
9 - 22.12.20 - 02:27
А из двоичной в 16-чную перевести не сложно.
вопрос немного иной:
как кодировать рисунок в двоичную систему исчисления (например). как перевести картинку в символьную строку.
   Garykom
 
10 - 22.12.20 - 08:04
вероятно монохромный рисунок где каждый бит 1 означает точку
   trdm
 
11 - 22.12.20 - 09:22
(6) Я в том смысле что понятно что не base64.
   Кирпич
 
12 - 22.12.20 - 09:53
По формату картинки не ясно. Если как черно белое bmp, то можно тупо создать черно белую картинку 64 на 64 и сохранить в файл. Открыть в HEX редакторе и скопировать последние 512 байт. Убрать пробелы, если есть, подшаманить и скопипастить в 1с.
   Кирпич
 
13 - 22.12.20 - 10:27
   Bigbro
 
14 - 22.12.20 - 10:37
16*16 = 256, у нас 512 байт если картинка в градациях серого то это 32*32
если просто чб то 64*64
в (13) похоже на то что надо. но это не картинку а двоичный файл перегоняет.
конвертор из какого-нибудь bmp/jpg в этот формат графики вряд ли найдешь.
надо будет перевести лого в бинарник вручную.
   Кирпич
 
15 - 22.12.20 - 10:43
Ну вон в (12) как из bmp выдернуть. В bmp изображение в перевернутом виде просто. Но можно в редакторе перевернуть, если надо. Автор смылся. Формат неизвестен.
   Bigbro
 
16 - 22.12.20 - 11:05
(15) я не уверен что ванильный бмп формат еще хоть кто-то использует, все же продвинутые версии тоже со сжатием идут, считай тот же джепег в другой руке.
   Кирпич
 
17 - 22.12.20 - 11:14
(16) Да какое сжатие. Там же написано 512 байт. Тупо пиксельный растр. Просто непонятно какой размер изображение (может 64x64 может 32x128) и как пиксели идут (строки столбцы).
   Bigbro
 
18 - 22.12.20 - 11:17
куда передавать примерно понятно что с растром.
я имел в виду что у автора готовый логотип видимо есть который он хочет загрузить (в неизвестном формате).
а желания набрать это лого ручками или рисовать по пикселям - нет.
   Garykom
 
19 - 22.12.20 - 12:12
(17) в случае HEX кодирования, вероятнее всего или по 8 бит или по 16
но 8 не кратно поэтому думаю по 16 бит 4х4 точек

"1F23…BD11"
Т.е. одно знакоместо из двух байт "1F" - кодирует монохромную картинку 4х4 пикселя

Хотя можно и покрупней взять например 8х8=64
   Garykom
 
20 - 22.12.20 - 12:15
(19)+ Но согласен что можно не квадратиками а тупо линейно, что для последовательной печати проще
Но тогда надо знать ширину картинки

Хотя если 512 байт всего и картинка квадратная то это 64х64 пикселей
   Bigbro
 
21 - 22.12.20 - 12:19
(20) с учетом того что на той стороне весы, с простейшей логикой, никто там не будет выстраивать квадратиками - 99% что принимают строку и как принимают так и льют на экран попиксельно в матрицу строка за строкой слева направо.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.