文字旋转

Delphi中文字旋转
procedure TForm1.Button2Click(Sender: TObject);
var
i: integer;
LogcalFnt:TLogFont;
TempFont,NewFont:integer;
sDispStr:Pchar;
begin
LogcalFnt.lfHeight:=10;//字高
LogcalFnt.lfWidth:=10;//字宽
LogcalFnt.lfEscapement:=0;//倾斜度
LogcalFnt.lfOrientation:=0;//方向与倾斜度取值相同
LogcalFnt.lfWeight:=400;//字体笔画粗细程度
LogcalFnt.lfItalic:=0;//没有斜体效果
LogcalFnt.lfUnderline:=0;//没有下划线
LogcalFnt.lfStrikeOut:=0;//没有删除线
LogcalFnt.lfCharSet:=0;//默认字符集
LogcalFnt.lfOutPrecision:=0;//系统默认值
LogcalFnt.lfClipPrecision:=0;//系统默认值
LogcalFnt.lfQuality:=0;//系统默认值
LogcalFnt.lfPitchAndFamily:=0;//系统默认值
LogcalFnt.lfFaceName:='Arial'+Chr(0);//字体名称
sDispStr:='中国电脑教育报';
i:=3600;
while (i>-1) do //自X轴正方向开始顺时针旋转
begin
LogcalFnt.lfEscapement:=i; //按一定的步长赋初值
TempFont:=CreateFontIndirect(LogcalFnt);
//创建逻辑字体
NewFont:=SelectObject(Form1.Canvas.Handle,TempFont); //取得当前字体,并替换为新字体
TextOut(Form1.Canvas.Handle,form1.width div 2,form1.height div 2,sDispStr,length(sDispStr));
//在窗体中间为起点输出文字
TempFont:=SelectObject(Form1.Canvas.Handle,NewFont); //还原替换的字体
DeleteObject(TempFont); //删除逻辑字体
i:=i-200; //旋转步长为10度
end;
end;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值