提取TrueType字体轮廓的问题
我用CDC的GetGlyphOutline函数提取TrueType字体的轮廓,我根据msdn上面的描述,第一次使用设置缓冲区为0,然后得到字体需要的缓冲区的大小,但是得到的缓冲区的大小是一个非常大的数,所以分配内存失败,这是为什么呢?大家帮我看看,代码如下:
MAT2 mat2;
mat2.eM11.value=1;
mat2.eM11.fract=0;
mat2.eM12.value=0;
mat2.eM12.fract=0;
mat2.eM21.value=0;
mat2.eM21.fract=0;
mat2.eM22.value=1;
mat2.eM22.fract=0;
UINT nChar='A';
DWORD cbBuffer=dc->GetGlyphOutlinenChar,GGO_NATIVE,&gmm,0,NULL,&mat2);//得到缓冲区的大小;
if(cbBuffer==GDI_ERROR)/
return;