Библиотека U8glib несколько вопросов
- Войдите на сайт для отправки комментариев
Всем добрый день. Имеется дисплей на контроллере SSD1306 128X32 пикселей. Библиоека работает без проблем. Но есть несколько вопросов:
1) как создать собственный шрифт? Встроенные шрифты меня не устраивают по нескольким причинам: мне нужны только цифры и несколько символов. Имеющиеся встроенные символьные шрифты мне не нравятся, а те что нравятся, занимают слишком много памяти МК, так как подгрушается весь шрифт полностью (все символы) а мне нужно всего 12-13 символов.
2) как конвертировать BMP картинки в код? Попробовал программу Image2Code.exe - на выходе получаю код с содержимым типа:
0xFF,0xFF,0x00,0x00,0x00,0xFF,0xFF....
где 0xFF и 0x00 - каждый отдельный пиксель картинки, вто время как Библиотека U8glib воспринимает 0xFF как 8 "заполненных" точек, а 0x00 - 8 пустых точек.
Пробовал разными командами:
u8g.drawXBMP(x, y, width, height, u8g_logo_bits);
и
u8g.drawBitmap( x, y, width, height, my_bitmap);
результат один и тот же: 0xFF как 8 "заполненных" точек, а 0x00 - 8 пустых точек. И картинка не получается. Чем сконвертировать обычную черно-белую BMP картинку?
C конвертированием разобрался - конвертирую катринки в XBM программой Xnview
А вот со шрифтом пока никак. Надеюсь на вашу помощь
1. Конвертировать нужно не в 8-битный, а в 1-битный цвет.
2. Строго говоря, библиотека будет нормально работать лишь в том случае, когда коды символов идут подряд. Кстати, на этот случай обычно используется фонт с 13-ю символами. Можете сами обрезать существующий. Для этого нужно выкинуть все лишнее из начала и конца файла (не трогая первых четырех байтов заголовка), а также подправить заголовок. Если мне не изменяет память, вместа числа 0x20 нужно подставить номер первго символа в Вашем новом шрифте, а вместо 0x5F подставить количество символов в шрифте.
Со встроенным шрифтом это будет немного сложно сделать... вот один из шрифтов (для примера):
Отредактировать такой шрифт для меня сложно...