#include <cstdio> #include <cstdlib> #include <cmath> // freetype2 头文件 #include <ft2build.h> #include FT_FREETYPE_H // for freetype support #include FT_GLYPH_H // 最终文本内容存放的内存区域 #define WIDTH 640 #define HEIGHT 480 unsigned char image[HEIGHT][WIDTH]; /* 将freetype2渲染出的字符信息拷贝到文本内存 */ void draw_bitmap( FT_Bitmap* bitmap, FT_Int x, FT_Int y) { FT_Int i, j, p, q; FT_Int x_max = x + bitmap->width; FT_Int y_max = y + bitmap->rows; for ( i = x, p = 0; i < x_max; i++, p++ ) { for ( j = y, q = 0; j < y_max; j++, q++ ) { if ( i >= WIDTH || j >= HEIGHT ) continue; image[j][i] |= bitmap->buffer[q * bitmap->width + p]; } } } // 辅助函数,用于以文本图形式,显示最终渲染的图片 void show_image( void ) { FILE* fp = fopen( &