Форум программистов, компьютерный форум, киберфорум
Наши страницы
Бета-тестирование
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Fox_exe
8 / 7 / 2
Регистрация: 01.10.2017
Сообщений: 44
1

Программа-конвертер изображений в массив байт

01.11.2017, 23:19. Просмотров 1912. Ответов 11
Метки нет (Все метки)

Давно искал данную софтину, чтобы конвертировать картинки под дисплей от Nokia3110.
Но то тухлые ссылки, то софт кривоватый, то ещё какая пакость. К томуже нигде небыло обратного конвертора (byte array -> image).
Кароче, написал свой:

Программа-конвертер изображений в массив байт


Исходники и бинарник для Windows тут

Чего умеет?
  • Конвертирование в обе стороны (Картинка <-> массив байт)
  • Формат Monochrome (Ч/Б), 1 бит на пиксель (8 пикселей в байт с вертикальной/горизонтальной разверткой)
  • Формат RGB 332
  • Формат RGB 444
  • Формат RGB 565
  • Сохранение преобразованного из байт-кода картинки в jpg, bmp, png
  • Поддерживает практически все форматы изображений (C# Native), но я ограничил стандартными jpg / png / bmp

Да, код не самый шустрый - сказывается моё слабое понимание работы .net и C# в частности, и много можно было написать лучше/быстрее/удобнее. Но лично мне пофиг - работает и ладно.

Отзывы, обсуждение, советы и хотелки предлагаю обсуждать в этой теме.

Модераторов прошу сильно не пинать, если я темой ошибся
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2017, 23:19
Ответы с готовыми решениями:

Конвертер изображений
добрый день. Уже несколько дней бьюсь над задачей сделать конвертер изображений на C#, пока удалось...

Посоветуйте конвертер изображений
Подскажите конвертер изображений, в частности интересует конвертирование из .bmp в .png и наоборот,...

Онлайн-конвертер изображений
Здравствуйте, форумчане! У меня такой вопрос. Каким способом можно создать онлайн-конвертер...

Как написать конвертер форматов изображений
Помогите, нужно написать конвертор изображений, но я не могу сделать конвертацию tiff&gt;bmp и...

Написать конвертер изображений BMP to JPG
Здравствуйте. Я делаю проект и передо мной стоит задача написать конвертацию bmp в jpg на сях. Кто...

11
vxg
Модератор
3278 / 2075 / 327
Регистрация: 13.01.2012
Сообщений: 8,055
02.11.2017, 08:50 2
Fox_exe, а зачем это нужно? И причём тут ардуино?
0
Fox_exe
8 / 7 / 2
Регистрация: 01.10.2017
Сообщений: 44
02.11.2017, 12:19  [ТС] 3
Дык написал-же - для маленьких экранов. Чтобы преобразовывать обычную картинку в массив байт, который можно использовать в коде (Там где нет файловых систем).

Например для тогоже PCD8544 (Nokia 3310) - чтобы сделать картинку-заставку, иконки или файл шрифта.
Например в либе от Adafruit русские символы заменяются крякозябрами. С помощью моей проги можно взять код шрифта из либы, преобразовать в картинку, перерисовать символы на русские и преобразовать обратно в код.
0
Avazart
02.11.2017, 13:20
  #4

Не по теме:

C#
1
pixelColor = bmp.GetPixel(x, ((horisontal)? y : y + tmpY));
Действительно медленно, по идее можно как то построчно читать.

Я бы делал на OpenCV.

0
Fox_exe
8 / 7 / 2
Регистрация: 01.10.2017
Сообщений: 44
02.11.2017, 15:13  [ТС] 5
Цитата Сообщение от Avazart Посмотреть сообщение
Я бы делал на OpenCV.
Я бы написал на C++ (с QT в качестве GUI), но на C# было быстрее и проще. Да и задержки заметны только на картинках выше 512х512. Но такие на микроконтроллерах не используют (Памяти надо шибко много, а значит и контроллер мощьнее... А там уже и до SD карты с Fat32 не далеко...)

Ps: В качестве эксперемента таки нашёл способ преобразовать картинку в массив байт и работать уже с ним... Скорость конвертации возросла раз этак в 5!
0
Avazart
Эксперт С++
7791 / 5691 / 560
Регистрация: 10.12.2010
Сообщений: 25,910
Записей в блоге: 17
02.11.2017, 17:06 6
Цитата Сообщение от Fox_exe Посмотреть сообщение
Я бы написал на C++ (с QT в качестве GUI), но на C# было быстрее и проще.
Можно и без GUI сделать, и я бы не сказал что быстрее и проще.
0
LeniumSoft
1438 / 828 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
Завершенные тесты: 1
03.11.2017, 10:44 7
Эм....

Может просто: http://tomeko.net/online_tools/file_to_hex.php?lang=en
0
Fox_exe
8 / 7 / 2
Регистрация: 01.10.2017
Сообщений: 44
03.11.2017, 11:11  [ТС] 8
Цитата Сообщение от LeniumSoft Посмотреть сообщение
Может просто
Это не то. Если сунуть туда картинку - то он и сконвертирует её вместе с заголовком. А если jpeg или ещё что с компрессией - получаем мусор.
Моя тулза конвертит именно в ByteArray, содержащий информацию о пикселях в конкретном (Простом) формате, что удобно для микроконтроллеров.
Плюс - есть обратное кодирование (Текст в картинку).
0
Rius
Эксперт .NET
5282 / 3475 / 841
Регистрация: 25.05.2015
Сообщений: 10,599
Записей в блоге: 11
Завершенные тесты: 4
03.11.2017, 11:13 9

Не по теме:

Цитата Сообщение от Fox_exe Посмотреть сообщение
Давно искал данную софтину, чтобы конвертировать картинки под дисплей от Nokia3110.
Графический редактор ЖК дисплеев (от Rius) :D



Цитата Сообщение от Fox_exe Посмотреть сообщение
К томуже нигде небыло обратного конвертора (byte array -> image).
А зачем это нужно?
0
Fox_exe
8 / 7 / 2
Регистрация: 01.10.2017
Сообщений: 44
03.11.2017, 11:20  [ТС] 10
Цитата Сообщение от Rius Посмотреть сообщение
А зачем это нужно?
Взять шрифт (код) из готовой либы и перерисовать (Русифицировать, к примеру).

А вот за софтину - спасибо... Видать, я плохо искал... Или неправильные вопросы гуглу задавал
* ушёл в темный уголок и заплакал...
0
Rius
Эксперт .NET
5282 / 3475 / 841
Регистрация: 25.05.2015
Сообщений: 10,599
Записей в блоге: 11
Завершенные тесты: 4
03.11.2017, 11:26 11
Иногда проще сделать свой шрифт, а не исправлять библиотечный.
Можно написать и свою функцию вывода текста. С кириллицей. И даже с юникодом (например, греческие, латинские, кириллица и спец. символы в одном флаконе).

Добавлено через 2 минуты
Цитата Сообщение от Fox_exe Посмотреть сообщение
Видать, я плохо искал... Или неправильные вопросы гуглу задавал
Да нет, всё правильно. Я то же самое нашёл и сделал те же выводы.
0
Croessmah
++Ͻ
14939 / 8532 / 1627
Регистрация: 27.09.2012
Сообщений: 21,013
Записей в блоге: 2
Завершенные тесты: 1
06.11.2017, 15:00 12
Цитата Сообщение от vxg Посмотреть сообщение
Fox_exe, а зачем это нужно?
Как вариант, вшить этот массив в exe'шник, а потом скормить как массив байт виджету-рисунку.
0
06.11.2017, 15:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2017, 15:00

Дан массив из 10 байт. Посчитать количество байт, в которых сброшены 6 и 4 биты
Дан массив из 10 байт. Посчитать количество байт,в которых сброшены 6 и 4 биты. Массив байтов...

Дан массив из 11 байт. Подсчитать количество байт с нечетным числом 1 в байте
Дан массив из 11 байт. Подсчитать количество байт с нечетным числом 1 в байте.-Assembler помогите...

Дан массив из 10 байт. Посчитать количество байт содержащих ровно три единицы
Здравствуйте, возникла проблема с решением задачи: &quot;Дан массив из 10 байт. Посчитать количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru