程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi代碼實現藝術字特效

Delphi代碼實現藝術字特效

編輯:Delphi

Delphi在窗體上生成實現藝術字效果,有多種效果:水平線效果、垂直線效果、向下延伸和向上延伸、曲線效果。覺得代碼挺不錯,想學習的就看看下面的代碼吧:

Delphi實現的藝術字

這是運行的效果圖,具體實現代碼:

vIEw source print? 01 unit Unit1; 02 interface 03 uses 04   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 05   Dialogs, StdCtrls, ExtCtrls, ExtDlgs; 06 type 07   TForm1 = class(TForm) 08     Button1: TButton; 09     ListBox1: TListBox; 10     Label1: TLabel; 11     Image1: TImage; 12     Button2: TButton; 13     CheckBox1: TCheckBox; 14     SavePictureDialog1: TSavePictureDialog; 15     procedure Button1Click(Sender: TObject); 16     procedure Button2Click(Sender: TObject); 17   private 18     { Private declarations } 19   public 20     { Public declarations } 21   end; 22 const  ch:Array [0..7of String=('漂','亮','的','藝','術','字','效','果'); 23 var 24   Form1: TForm1; 25 implementation 26 {$R *.dfm} 27 procedure TForm1.Button1Click(Sender: TObject); 28 var i:Integer; 29 begin 30 Image1.Canvas.Brush.Color:=clBlack; 31 Image1.Canvas.FillRect(Rect(0,0,Width,Height)); 32 with Image1 Do 33 Begin 34 For i:=0 to 7 Do 35 Begin      36 canvas.Font.Size:=24;                //設置字體大小 37 Case ListBox1.ItemIndex Of 38 0:Begin 39   setbkmode(canvas.Handle,1);       //設置字體模式為透明 40   If checkBox1.Checked Then 41   Begin 42   canvas.Font.Color:=clwhite;       //設置浮雕顏色 43   Canvas.TextOut(30*i,100,ch[i]);   //水平直線效果 44   end; 45   canvas.Font.Color:=clBlue;        //設置顏色 46   Canvas.TextOut(30*i,100+4,ch[i]); //水平直線效果 47   end; 48 1:Begin 49   setbkmode(canvas.Handle,1);       //設置字體模式為透明 50   If checkBox1.Checked Then 51   Begin 52   canvas.Font.Color:=clred;         //設置顏色 53   Canvas.TextOut(100,Round(30*i),ch[i]);    //豎直直線效果 54   end; 55   canvas.Font.Color:=RGB(25-36*i,255-14*i,154);//設置顏色 56   Canvas.TextOut(100-6,Round(30*i),ch[i]);    //豎直直線效果 57   end; 58 2:Begin 59  setbkmode(canvas.Handle,1);            //設置字體模式為透明 60   If checkBox1.Checked Then 61   Begin 62   canvas.Font.Color:=clred;             //設置顏色 63   Canvas.TextOut(30*i,Round(30*i),ch[i]);   //向下延伸直線效果 64   end; 65   canvas.Font.Color:=RGB(24*i,255-24*i,36*i);//設置顏色 66   Canvas.TextOut(30*i+2,Round(30*i)+2,ch[i]);   //向下延伸直線效果 67   end; 68 3:Begin 69  setbkmode(canvas.Handle,1);     //設置字體模式為透明 70   If checkBox1.Checked Then 71   Begin 72   canvas.Font.Color:=clFuchsia;      //設置顏色 73   Canvas.TextOut(30*i,Round(200-30*i),ch[i]); //向上延伸直線效果 74   end; 75   canvas.Font.Color:=RGB(24*i,255-14*i,154);      //設置文字漸變顏色 76   Canvas.TextOut(30*i+2,Round(200-30*i)+2,ch[i]); //向上延伸直線效果偏移 77   end; 78 4:Begin    //曲線效果 79   setbkmode(canvas.Handle,1);     //設置字體模式為透明 80   If checkBox1.Checked Then       //是否設置浮雕 81   Begin 82   canvas.Font.Color:=clFuchsia;  //設置浮雕顏色 83   Canvas.TextOut(30*i,Round(3*i*i)+24,ch[i]); //曲線效果 84   end; 85   canvas.Font.Color:=RGB(255-36*i,255-18*i,36*i);   //設置文字漸變顏色 86   Canvas.TextOut(30*i+2,Round(3*i*i)+24+2,ch[i]);   //曲線效果偏移 87   end; 88 end; 89 end; 90 end; 91 end; 92 procedure TForm1.Button2Click(Sender: TObject); 93 begin 94 If SavePictureDialog1.Execute Then 95  Image1.Picture.SaveToFile(SavePictureDialog1.FileName); //將藝術字效果保存 96 end; 97 end.
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved