myamanda

博客园 首页 新随笔 联系 订阅 管理
procedure TextOutAngled ( iCoordX, iCoordY: integer; const sString: string; iAngle, iSize: integer ); 
var 
   oLogFont: TLogFont; 
   SaveFont: TFont; 
begin 
     SaveFont := TFont.Create; 
     SaveFont.Assign( GlobalCanvas.Font); 

     GetObject(SaveFont.Handle, sizeof(TLogFont), @oLogFont); 

     with oLogFont do 
     begin 
          lfHeight := iSize * 2; 
          lfEscapement := iAngle * 10; 
          lfQuality := PROOF_QUALITY; 
          lfPitchAndFamily := DEFAULT_PITCH or FF_DONTCARE; 
     end; 

     with GlobalCanvas do 
     begin 
          Font.Handle := CreateFontIndirect ( oLogFont ); 
          SetBkMode ( Handle, TRANSPARENT ); 
          TextOut(iCoordX, iCoordY, sString ); 
          Font.Assign ( SaveFont ); 
     end; 

     SaveFont.Free; 
end;
posted on 2009-08-10 13:18  myamanda  阅读(174)  评论(0编辑  收藏  举报