|
我用FT_Set_Pixel_Sizes( m_pFTFace, 12*16, 12*16);设置字体大小是12*16,
然后我新建了一个二维数组:
BYTE **ppFontColorArray = new BYTE*[12* 16];
for(int iRow=0;iRow<12*16;iRow++)
{
ppFontColorArray[iRow] = new BYTE[12* 16];
}
我现在想把m_FT_Face->glyph->bitmap数据写到ppFontColorArray二维数组中,我的方法是这样的:
for(int i = 0; i< bitmap.rows ; i++)
{
memcpy(ppFontColorArray[i + (12*16 - m_FT_Face->glyph->bitmap_top - 1)] +
m_FT_Face->glyph->bitmap_left ,bitmap.buffer + ( i * bitmap.pitch),bitmap.width);
}
却始终会出现内存溢出的情况,是字体校准有问题,比如“日”这个字,它的几个参数是:
bitmap_left = 29
bitmap_top = 148
bitmap.rows = 171
请问应该怎么把m_FT_Face->glyph->bitmap数据正确校准并写入ppFontColorArray数组中呢?
|
|