英文字体怎么样可以向汉字的“@行书”一样的字体(50分)

  • 主题发起人 主题发起人 风信紫
  • 开始时间 开始时间

风信紫

Unregistered / Unconfirmed
GUEST, unregistred user!
就是说旋转90度?!
谢谢!
 
需要创建逻辑字体,在设置字体属性时设置为旋转90度。可以参考Win32帮助
 
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;
 
Charmer,可以稍微具体一点吗?
我是在报表中字的字体需要有那种效果那
 
晕,我的代码就是一个创建逻辑字体最完整的例子了,还怎么具体呀!
 
报表中不能使用画布!
 
Sorry,如果你想使用QuickRep的话,那可以没有什么好的办法,如果一定要实现旋转字段,就一定要用Canvas(当然你自己做一种旋转字体也可以,不过...).
 
多人接受答案了。
 
后退
顶部