Autor Téma: rotovanie textu ale pre printer.canvas  (Přečteno 1313 krát)

dvh

  • Host
rotovanie textu ale pre printer.canvas
« kdy: 25-04-2005, 14:06:00 »
Ahoj

nedavno sa tu riesil problem ako rotovat text napisany na canvas (o 90stupnov). Problem je ze ak je to printer.canvas tak to nefunguje. tu je ten text:

procedure TForm1.RotateText(Platno : TCanvas; Uhel : Integer; Txt: String);
var
    lf : TLogFont;
    tf : TFont;
begin
    with Platno do begin
        Font.Name := 'Arial';
        Font.Size := 24;
        Brush.Style := bsClear;
        tf := TFont.Create;
        try
            tf.Assign(Font);
            GetObject(tf.Handle, SizeOf(lf), @lf);
            lf.lfEscapement := Uhel * 10;
            lf.lfOrientation := Uhel * 10;
            tf.Handle := CreateFontIndirect(lf);
            Font.Assign(tf);
        finally
            tf.Free;
        end;
        TextOut(20, Height div 2, txt);
    end;
end;