А кто знает как использовать GetGlyphOutline. У меня что-то ничего не получается:
| Код | procedure TMainForm.Button1Click(Sender: TObject); var GlyphSize,TextMSize,ec:LongInt; ParSize:Word; GlyphMetrics:_GlyphMetrics; LPOUTLINETEXTMETRIC:POUTLINETEXTMETRIC; LPKERNINGPAIR:PKERNINGPAIR; Matrix:Mat2; pGlyphSize: Pointer; LogFont:TLogFont; DC:HDC; fnt:HFont; begin with logfont do begin lfHeight:=20;lfWidth:=0;lfEscapement:=450;end; DC:=mainform.Image1.Canvas.Handle; fnt:=CreateFontInDirect(LogFont);SelectObject(dc,fnt); LPOUTLINETEXTMETRIC:=nil;TextMSize:=0; Windows.GetOutlineTextMetrics(DC,TextMSize,LPOUTLINETEXTMETRIC); if TextMSize>0 then GetOutlineTextMetrics(DC,TextMSize,LPOUTLINETEXTMETRIC) else exit; LPKERNINGPAIR:=nil;ParSize:=0; GetKerningPairs(DC,ParSize,LPKERNINGPAIR); if ParSize>0 then GetKerningPairs(DC,ParSize,LPKERNINGPAIR) else exit; GlyphSize:=0; GetGlyphOutline(DC,ord('E'),GGO_NATIVE,GlyphMetrics,GlyphSize,nil,Matrix); if GlyphSize>0 then begin GetMem(pGlyphSize,GlyphSize); GetGlyphOutline(DC,ord('E'),GGO_NATIVE,GlyphMetrics,GlyphSize,pGlyphSize,Matrix ); end else exit; end;
|
|