颜色的渐变??????????(急)(50分)

  • 主题发起人 主题发起人 Bonny
  • 开始时间 开始时间
B

Bonny

Unregistered / Unconfirmed
GUEST, unregistred user!
我在一个mainform的背景上面想加颜色,但是感觉颜色单一不好看,有没有办法让颜色是从上至下的渐变。
谢谢,我好急,各位帮帮我
 
在线等待
 
在mainform的背景上面加个image不就可以了,
颜色渐变可以在powerpoint里做好,然后存成图片
 
图形啊!用photoshaop做个颜色渐变的图形作为背景。
 
一个简单的方法,用photoshop做一个图片,放一个image来调用,效果一样
 
这样不是很好吧,这样做一个图片也不小,放在程序里面,那不是程序都很大一个了么
我的意思是能不能通过程序来实现,就像windows的窗口标题那样渐变得
 
procedure TForm1.FormPaint(Sender: TObject);
var
i:word;
dy,y:real;
begin
dy:=clientheight/256;
y:=0;
for i:=255do
wnto 0do
begin
canvas.brush.color:=$00000000+i*$10000;
canvas.fillrect(rect(0,round(y),clientwidth,round(y+dy)));
y:=y+dy;
end;
end;
 
procedure TForm1.FormPaint(Sender: TObject);
var
i:Integer;
C1,C2:TColor;
f:Single;
begin
C1:=clBlue;
C2:=clGreen;
with Form1.Canvasdo
for i:=0 to ClientHeightdo
begin
f:=i/ClientHeight;
Pen.Color:=rgb(Round(GetRValue(C1)*f+GetRValue(C2)*(1-f)),
Round(GetGValue(C1)*f+GetGValue(C2)*(1-f)),
Round(GetBValue(C1)*f+GetBValue(C2)*(1-f)));
MoveTo(0,i);
LineTo(ClientWidth,i);
end;
end;
 
procedure TForm1.FormPaint(Sender: TObject);
var
i:word;
dy,y:real;
begin
dy:=clientheight/256;
y:=0;
for i:=255do
wnto 0do
begin
canvas.brush.color:=$00000000+i*$20000;
canvas.fillrect(rect(0,round(y),clientwidth,round(y+dy)));
y:=y+dy;
end;
end;
 
多人接受答案了。
 
上面的方法是好用,但出来是一条一条的,有没有缓和一点的???
 
后退
顶部