Escrevendo um Texto na Diagonal usando o Canvas

procedure TForm1.Button1Click(Sender: TObject);

var

lf : TLogFont;

tf : TFont;

 

begin

with Form1.Canvas do

begin

Font.Name := Arial;

Font.Size := 24;

tf := TFont.Create;

tf.Assign(Font);

GetObject(tf.Handle, sizeof(lf), @lf);

lf.lfEscapement := 450;

lf.lfOrientation := 450;

tf.Handle := CreateFontIndirect(lf);

Font.Assign(tf);

tf.Free;

TextOut(20, Height div 2, Texto Diagonal!);

end;

end;