// Ein Text wird auf einer Zeichenfläche (TCanvas) in bestimmten
// Winkeln ausgegeben. Siehe auch:
formatierten Text ausgeben


// Getestet mit D4 unter XP

procedure RotateFont(cnv: TCanvas; Winkel: integer); 
var 
  Logfont: TLogFont; 
begin 
  GetObject(cnv.Font.Handle, sizeof(Logfont), @Logfont); 
  Logfont.lfEscapement := winkel * 10; 
  Logfont.lfOrientation := Logfont.lfEscapement; 
  cnv.Font.Handle := CreateFontIndirect(Logfont); 
end; 
 
 
// Beispielaufrufe 
 
procedure TForm1.FormPaint(Sender: TObject); 
begin 
  Canvas.Font.Name := 'Arial'; // muss TrueType sein 
  Canvas.Font.Size := 14; 
  Canvas.brush.style := bsclear; 
 
  RotateFont(Canvas, -45); 
  Canvas.TextOut(200, 100, 'nach rechts unten'); 
 
  RotateFont(Canvas, 180); 
  Canvas.TextOut(200, 100, 'auf dem Kopf nach links'); 
 
  RotateFont(Canvas, 90); 
  Canvas.TextOut(200, 100, 'senkrecht nach oben'); 
 
  RotateFont(Canvas, -90); 
  Canvas.TextOut(200, 100, 'senkrecht nach unten'); 
 
  RotateFont(Canvas, 0); 
  Canvas.TextOut(200, 100, 'normal'); 
end; 
 


Zugriffe seit 6.9.2001 auf Delphi-Ecke