canvas教程

Delphi画个空心效果的文字

字号+ 作者:H5之家 来源:H5之家 2017-02-11 09:00 我要评论( )

以往,我们想得到空心字,一般都是使用华文彩云的字体或者用各种画图软件画出我们需要的效果,然后以图形的方式显示。 我今天在这里向大家展示一种用编程实现

  核心提示:以往,我们想得到空心字,一般都是使用华文彩云的字体或者用各种画图软件画出我们需要的效果,然后以图形的方式显示。 我今天在这里向大家展示一种用编程实现的方法。道理很简单。我们先得到要写的字的轮廓,然后...

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

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

    以下程序在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);

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • HTML5 canvas绘制的玫瑰花效果

    HTML5 canvas绘制的玫瑰花效果

    2017-02-05 08:06

  • Android 轻松实现图片倒影效果实例代码

    Android 轻松实现图片倒影效果实例代码

    2017-02-02 09:05

  • html5之 canvas 绘制案例:圆圈上的文字

    html5之 canvas 绘制案例:圆圈上的文字

    2017-01-25 17:00

  • Android开发之50个常见实用技巧——添加悦目的动画效果

    Android开发之50个常见实用技巧——添加悦目的动画效果

    2017-01-15 08:02

网友点评