如何使字体的颜色渐变(200分)

  • 主题发起人 主题发起人 刁么
  • 开始时间 开始时间

刁么

Unregistered / Unconfirmed
GUEST, unregistred user!
用Image显示文字,然后使字体的颜色逐渐变红
 
关注。试试
 
我想可能做个GIF什么的,兴许可能符合你的要求!
 
TFont 有 Handle 属性。有它人想怎样就怎样。
 
image恐怕不容易
如果用label的话不妨用个timer或者for不停改变font。color。用RGB函数
 
我的意思就是象OK字幕样,颜色一般一点一点的变蓝
 
1、做个渐变的GIF
2、Flash动画
3、avi movie
4、第三方控件,如 ExtraPack
 
这是斑竹的作品,在form上有一个timer和一个button:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
var
Bmp :TBitmap;
S :String;
i,Wid,Len :Integer;
begin
S :='卷起千堆雪';
Bmp :=TBitmap.Create;
SetBKMode(Bmp.Canvas.Handle,TRANSPARENT);
Bmp.Canvas.Font.Size :=72;
Bmp.Canvas.Font.Color :=RGB(Random(255),Random(255),Random(255));
Wid :=Trunc(Canvas.TextWidth(S)*9.5);
Len :=Canvas.TextHeight(S)*9;
Bmp.Width :=Wid;
Bmp.Height :=Len;
Bmp.Canvas.Brush.Color :=clBtnFace;
Bmp.Canvas.Rectangle(0,0,Bmp.Width,Bmp.Height);
Bmp.Canvas.TextOut(0,0,S);
for i :=0 to Wid-1 do
begin

Canvas.CopyRect(Rect(0,0,i,Bmp.Height-1),Bmp.Canvas,Rect(1,0,i,Bmp.Height-1));
Sleep(10);
end;
Bmp.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.Enabled:=true;
end;

end.
 
to huazai
在透明窗体上该怎么处理?
 
你看看alphablend:=true;
alphablendvalue:=125;时效果也是一样啊
 
MediaPack
在www.51delphi.com就有的,只要查找一下即可找打
你说的问题它肯定能帮你解决,这控件太好了
 
后退
顶部