Я пытаюсь найти способ наложения некоторого текста на массив растровых изображений. Я хотел бы, чтобы стиль текста был получен из шрифта фиксированного размера (или дополненного). На данный момент у меня есть заголовочный файл со стилями моих букв, который я затем накладываю, используя «бит установлен? да? print pixel '.
ascii.h:
static char *chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:.+ ";
static char *ascii =
" "
" ## "
" #### "
" ## ## "
" ###### "
" ## ## "
" ## ## "
" ## ## "
" "
" "
" ##### "
" ## ## "
" ## ## "
" ##### "
" ## ## "
" ## ## "
" ##### "
" "
" "
etc...
Затем печатается так:
#define CHAR_WIDTH 8
#define CHAR_HEIGHT 9
pixel = (ascii[(y * CHAR_WIDTH + x) + (CHAR_WIDTH * CHAR_HEIGHT)] == ' ' ? 0x000000 : 0xFFFFFF);
Это работает нормально, но выглядит довольно некрасиво, особенно если мне нужно масштабировать его. Вот пример, который был увеличен в 4 раза:
Большинство примеров кода, которые я видел для наложения текста, примерно на C# или на C ++ с использованием CImg. Я хотел бы сделать это, используя как можно ближе к нативному C.
Насколько я понимаю, у меня есть варианты - каким-либо образом преобразовать текст стиля шрифта в загрузку массивов для каждого из них. пиксель в письме или найти уже стилизованный массив шрифтов. В основном похоже на то, что я уже делаю.
Есть ли другой, более простой способ?