Перейти к содержанию
    

Как сделать кэширование шрифтов в TouchGFX проекте на STM32H743?

Люди добрые,

у меня сейчас и картинки и шрифты находятся во внешней  QSPI-флэш, все в принципе работает. Теперь мне понадобилось иногда использовать эту внешнюю QSPI-флэш для сохранения данных.

Я смотрю, что TouchGFX умеет кэшировать растровые изображения во внешнюю SDRAM. Проверил, действительно умеет. Но как кэшировать шрифты я не понял.

Может кто разобрался уже ?

 

МК STM32H743, QSPI-флэш, SDRAM 32 Мб

Изменено пользователем haker_fox
Для STM32 есть свой подраздел на форуме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, TOG said:

Может кто разобрался уже ?

Гугл

https://support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/font-cache

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

48 minutes ago, EdgeAligned said:

А чем растровый шрифт отличается от растрового изображения?

Структурой

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, EdgeAligned сказал:

А чем растровый шрифт отличается от растрового изображения?

Да ничем)) Берете картинку на которой весь алфавит, задаете координаты и размер символов на ней в таблицу и просто копируете в видеопамять эти символы в соотв с текстовой строкой... В отличие от классических шрифтов, такие могут быть разноцветные, с тенями и пр. плюшками...

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 часов назад, x893 сказал:

Структурой

Ну разве что. А в остальном - те же самые байты. Растровое изображение обычно имеет вначале заголовок с описанием евоных параметров - размеры в пикселях, формат пикселя (кол-во байт на пиксель - цветовая модель). Картинку без прикрепленного к ней описателя параметров использовать весьма несподручно. Разве что если все картинки в проекте одинакового типа и размеров.

Растровый шрифт так же имеет заголовок с описанием, точная структура которого будет отличаться в зависимости от ПО, "нарезавшего" шрифт. Но в целом, структура та же самая - заголовок и массив пиксельных данных. Разноцветные шрифты - я не видел, чтобы кто-то их использовал. Потому как цвет "чернил" при выводе символа накладывается по черно-белой маске, она используется как альфа-канал. Для шрифтов со сглаживанием маска имеет несколько градаций серого.

Общее свойство этих двух типов данных - картинки и шрифты - это указатель на их начало и кол-во байт массива. Конечно, когда юный программист не очень то смышлен, для него сложно самостоятельно написать требуемое действие. Тут уж... 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, EdgeAligned said:

Ну разве что. А в остальном - те же самые байты. Растровое изображение обычно имеет вначале заголовок с описанием евоных параметров - размеры в пикселях, формат пикселя (кол-во байт на пиксель - цветовая модель). Картинку без прикрепленного к ней описателя параметров использовать весьма несподручно. Разве что если все картинки в проекте одинакового типа и размеров.

Растровый шрифт так же имеет заголовок с описанием, точная структура которого будет отличаться в зависимости от ПО, "нарезавшего" шрифт. Но в целом, структура та же самая - заголовок и массив пиксельных данных. Разноцветные шрифты - я не видел, чтобы кто-то их использовал. Потому как цвет "чернил" при выводе символа накладывается по черно-белой маске, она используется как альфа-канал. Для шрифтов со сглаживанием маска имеет несколько градаций серого.

Общее свойство этих двух типов данных - картинки и шрифты - это указатель на их начало и кол-во байт массива. Конечно, когда юный программист не очень то смышлен, для него сложно самостоятельно написать требуемое действие. Тут уж... 

Вот хороший, развёрнутый ответ для ТС.

+

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 часов назад, EdgeAligned сказал:

Конечно, когда юный программист не очень то смышлен, для него сложно самостоятельно написать требуемое действие. Тут уж... 

Да уж, тут уж ... Надо начинать с чего-то попроще тогда...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...