网上文摘 小说 Flash游戏 最近更新 下载排行 资源分类 下载指南
经典编程资源 精彩不容错过
设为首页
加入收藏
联系我们
当前位置:Delphi园地技巧文章图像媒体 → 画个空心效果的文字
画个空心效果的文字
日期:2004年12月30日 作者: 人气: 查看:[大字体 中字体 小字体]

以往,我们想得到空心字,一般都是使用华文彩云的字体或者用各种画图软件画出我们需要的效果,然后以图形的方式显示。

    我今天在这里向大家展示一种用编程实现的方法。道理很简单。我们先得到要写的字的轮廓,然后沿着轮廓划线,这样空心字就出来了。看看下面的程序吧。很简单,代码还不到十行就可以做完。

    以下程序在DELPHI6.0+Win ME下编程通过。

    unit Unit1;

    interface

    uses

    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

    type

    TForm1 = class(TForm)

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

    private

    {Private declarations}

    public

    {Public declarations}

    end;

    var

    Form1: TForm1;

    implementation

    {$R*.dfm}

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    Canvas.Font.Name:= '幼圆';

    //如果考虑到通用性,最好选用True Type Font

    Canvas.Font.Size:= 72;

    Canvas.Font.Style:=[fsBold];//你可以选择其他方式,不过,粗体是必需的,这样效果才好

    BeginPath(Canvas.Handle); //准备得到Canvas上绘制的轮廓

    Canvas.TextOut(20,40,'我爱电脑报');

    EndPath(Canvas.Handle); //结束

    Canvas.Pen.Color:= clRed;

    StrokePath(Canvas.Handle); //将得到的轮廓画到Canvas

    end;

    end.

效果如

不错吧。但是,外边怎么还有个方框?

    好吧,我们再来去掉它。在beginpath后加上一句

    SetBkMode(Canvas.Handle,TRANSPARENT); 

    这次好了吧?我们还可以做一些改进。比如说,我们可以在空心里填上其他的颜色。先设置好刷子,加上一句代码就可以了。

    Canvas.Brush.Color:=clYellow; //设置填充色

    再用StrokeAndFillPath函数来替换StrokePath函数

StrokeAndFillPath(canvas.handle);

(出处:www)

相关文章:
·文字滚屏控件(SliderPanel)
·文字滚屏控件(SliderMemo)
 → 特别推荐
 → 热点TOP10
关于我们 | 广告服务 | 发布资源 | 联系站长 Copyright © 2002-2006 Delphi园地 All Rights Reserved