我的免费类型库存在很大问题。 我使用FT_Load_Char来获取要绘制的文本的宽度。 第一个调用,一切都是正确的,但第二个调用(下一个要绘制的文本),应用程序崩溃。 我使用C ++ borland和freetype Library(版本2.4.9)。 为了更加克莱尔,这是我的代码:
currentLength = 0;
for(unsigned long j = 0; j < Text.size(); j++ )
{
FT_Error error = FT_Load_Char( m_Face, Text[j], FT_LOAD_RENDER );
if ( error )
{
continue; /* ignore errors */
return 0;
}
int translateX = m_Face->glyph->advance.x >> 6;
currentLength = currentLength + translateX;
}
if( currentLength > maxLength )
maxLength = currentLength;
FT_Glyph Glyphe;
FT_Get_Glyph(m_Face->glyph, &Glyphe);
FT_Done_Glyph(Glyphe);
FT_Done_Face(m_Face);
return maxLength;
我的代码出了什么问题!!!