大家看我得代码用得是GGO_BITMAP,我不知道他得到的是什么样的结构,
我想得到字体的点阵数据,最好能够存在数组里,cbBuffer = pdc->GetGlyphOutline(nChar,GGO_BITMAP,&gm,0L,NULL,&mat2);
lpvBuffer=new char[cbBuffer];
cbBuffer=pdc->GetGlyphOutline(nChar,GGO_BITMAP,&gm,cbBuffer,lpvBuffer,&mat2);谁能告诉我怎么得到吗?100分相送
我想得到字体的点阵数据,最好能够存在数组里,cbBuffer = pdc->GetGlyphOutline(nChar,GGO_BITMAP,&gm,0L,NULL,&mat2);
lpvBuffer=new char[cbBuffer];
cbBuffer=pdc->GetGlyphOutline(nChar,GGO_BITMAP,&gm,cbBuffer,lpvBuffer,&mat2);谁能告诉我怎么得到吗?100分相送
int nStride = cbBuffer / gm.gmBlackBoxY;
for(int y=0;y<gm.gmBlackBoxY;++y)
for(int x=0;x<nStride;++x)
for(int k=0;k<8;++k)
if((lpvBuffer[y*nStride+x]>>(7-k))&1)
pdc->SetPixel(8*x+k,y,RGB(255,0,0));
DWORD cbBuffer=NULL;
LPVOID lpvBuffer=NULL;
cbBuffer = pdc->GetGlyphOutline(nChar,GGO_BITMAP,&gm,0L,NULL,&mat2);
lpvBuffer=malloc(cbBuffer);
cbBuffer=pdc->GetGlyphOutline(nChar,GGO_BITMAP,&gm,cbBuffer,lpvBuffer,&mat2);我这样分配内存对吗?
cbBuffer = pdc->GetGlyphOutline(nChar,GGO_BITMAP,&gm,0L,NULL,&mat2);
lpvBuffer=(char*)malloc(cbBuffer);
cbBuffer=pdc->GetGlyphOutline(nChar,GGO_BITMAP,&gm,cbBuffer,(LPVOID)lpvBuffer,&mat2);