Вывод текста на битмап (вручную)
Вопрос следующий - есть некий класс битмапа, рисовать на нем можно только используя функции GetPixel и PutPixel. Надо на него вывести текст, с возможностью выбора любого установленного в винде шрифта. Т.е. надо для выбранного шрифта(и его свойств) получить набор точек для вывода какой-либо буквы. Каким образом это можно сделать?
Цитата:
Originally posted by teran
Вопрос следующий - есть некий класс битмапа, рисовать на нем можно только используя функции GetPixel и PutPixel. Надо на него вывести текст, с возможностью выбора любого установленного в винде шрифта. Т.е. надо для выбранного шрифта(и его свойств) получить набор точек для вывода какой-либо буквы. Каким образом это можно сделать?
Вопрос следующий - есть некий класс битмапа, рисовать на нем можно только используя функции GetPixel и PutPixel. Надо на него вывести текст, с возможностью выбора любого установленного в винде шрифта. Т.е. надо для выбранного шрифта(и его свойств) получить набор точек для вывода какой-либо буквы. Каким образом это можно сделать?
Думаю можно сделать так:
Создать временный котекст экрана HDC к нему выбираеш созданный HBITMAP ,затем забираеш после вызова CreateDIBSection указатель на массив с точками данного HBITMAP. Теперь рисуеш в этот контекст с помощью TextOut нужную букву или целый текст определенного шрифта с определенным размером созданого предварительно функцией CreateFont. И вот теперь у тебя уже есть массив с точками. Можно создать дополнительный массив и после предварительного вычисления верхних и нижних границ расположения точек в первичном массиве уже создать вторичный масссив и туда переписать точки.