Внимание!
Эта публикация перенесена в раздел уроков по адресу Использование freetype. Получение битового образа символов.К ней прикреплена новая отдельная ветка комментариев форума, которую вы можетет найти после текста публикации.
Обсуждение публикации рекуомендуется вести по новому адресу, который указан выше.
Использование freetype. Получение битового образа символов
Думаю практически все программисты(и не только) знают или хотя бы слышали, что такое freetype. Поэтому не будет долгих вступлении, копипаста информации с других ресурсов, о том, что такое freetype.
[spoiler]
- это шрифтовый движок. (вот, так коротко и ясно =))))
С помощью этой библиотеки можно читать файлы шрифтов, таких как TrueType fonts, OpenType fonts, BDF fonts и другие. Извлекать битовые образы глифов, и извлекать различную дополнительную информацию о шрифтах, глифах необходимую для их правильной отрисовки.
Практически весь текст в Linux и других Unix подобных системах был считан с помощью этой библиотеки.
Кстати сама библиотека не имеет методов для обработки, и непосредственной отрисовки на экран графики.
Разберем небольшой пример использования freetype.
В данном freetype "вытягивает" пиксельный образ символа из шрифта. Пиксельный образ содержит один байт на пиксель, можно так сказать альфа канал - степень закраски пикселя.
Здесь намеренно все происходит в main, для простоты.=)


Цель
Цель этого поста чуток познакомить Вас с библиотекой freetype, для того чтобы в дальнейшем использовать эти знания для рендера текста в OpenGL с ее помощью.
P.S. Просто хотел разбить урок о рендере текста в OpenGL))
(Visual studio 2008)
В выложенном проекте используется полная, статическая, "тяжелая" MT версия сборки freetype собранная мной. Хотя fretype можно собрать по модулям, я не стал этого делать=)))
Также, в проекте есть папочка to_SDK, к которой в свойствах проекта прописан путь к ней. В ней лежит заголовки(хедеры) freetype. И если у Вас по какой либо причине не увидело какие-то заголовки, закиньте содержимое папки в C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include или поправьте свойства проекта.=)
Полезные ссылки
[spoiler]
- это шрифтовый движок. (вот, так коротко и ясно =))))
С помощью этой библиотеки можно читать файлы шрифтов, таких как TrueType fonts, OpenType fonts, BDF fonts и другие. Извлекать битовые образы глифов, и извлекать различную дополнительную информацию о шрифтах, глифах необходимую для их правильной отрисовки.
Практически весь текст в Linux и других Unix подобных системах был считан с помощью этой библиотеки.
Кстати сама библиотека не имеет методов для обработки, и непосредственной отрисовки на экран графики.
Разберем небольшой пример использования freetype.
В данном freetype "вытягивает" пиксельный образ символа из шрифта. Пиксельный образ содержит один байт на пиксель, можно так сказать альфа канал - степень закраски пикселя.
|
Здесь намеренно все происходит в main, для простоты.=)


Цель
Цель этого поста чуток познакомить Вас с библиотекой freetype, для того чтобы в дальнейшем использовать эти знания для рендера текста в OpenGL с ее помощью.
P.S. Просто хотел разбить урок о рендере текста в OpenGL))
(Visual studio 2008)
В выложенном проекте используется полная, статическая, "тяжелая" MT версия сборки freetype собранная мной. Хотя fretype можно собрать по модулям, я не стал этого делать=)))
Также, в проекте есть папочка to_SDK, к которой в свойствах проекта прописан путь к ней. В ней лежит заголовки(хедеры) freetype. И если у Вас по какой либо причине не увидело какие-то заголовки, закиньте содержимое папки в C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include или поправьте свойства проекта.=)
Полезные ссылки
Внимание!
Эта публикация перенесена в раздел уроков по адресу Использование freetype. Получение битового образа символов.К ней прикреплена новая отдельная ветка комментариев форума, которую вы можетет найти после текста публикации.
Обсуждение публикации рекуомендуется вести по новому адресу, который указан выше.
01.09.2012 00:00:00
А можно использовать этот метод, только сохранять символ не в текстовый файл в виде символов, а картинку tga например?
03.09.2012 00:00:00
Можно, взять OpenIL и с помощью него сохранить все в TGA. Как нибудь напишу пример.
2800
02.08.2012
2



.