function DrawText: Boolean;
var
OldFont,TempFont : TFont;
pTemp:TPoint;
sTemp:String;
plf:LOGFONT;
OldPenWidth:Integer;
OldBrushStyle:TBrushStyle;
begin
with FBitMap do
begin
OldFont:=TFont.Create;
TempFont:=TFont.Create;
OldFont.Assign(Canvas.Font);
OldPenWidth:=Canvas.Pen.Width;
OldBrushStyle:=Canvas.Brush.Style;
try
Canvas.pen.Width := 1;
Canvas.Font.Color := clred;
Canvas.Font.Size := 9;
pTemp:=Point(100,100);
sTemp := 'asdfghj';
plf.lfEscapement := 90*10;
//请注意这里是90*10而不是90,即是角度*10.
plf.lfHeight := 12;
Plf.lfWidth := 9;
plf.lfItalic := 0;
plf.lfUnderline := 0;
plf.lfStrikeOut := 0;
plf.lfFaceName := 'Arial';
TempFont.Assign(Canvas.Font);
TempFont.Handle := CreateFontIndirect(plf);
try
Canvas.Font.Assign(TempFont);
Canvas.Brush.Style:=bsClear;
Canvas.TextOut(pTemp.x,pTemp.y,sTemp);
finally
DeleteObject(TempFont.Handle);
end;
finally
Canvas.Font.Assign(OldFont);
Canvas.Pen.Width:=OldPenWidth;
Canvas.Brush.Style:=OldBrushStyle;
OldFont.Free;
TempFont.Free;
end;
end;
end;