i:=i+1;
label1.Color:=i;
就可以渐变色了

解决方案 »

  1.   

    to playgb:  你写的这个代码你自己有没有试过啊?8-(
      

  2.   

    界面色彩渐变效果是通过用渐变的画刷刷绘依次相邻的矩形块实现的。下面列举实例说明: 
      1.新建一个表单,假设其Width为500,设置一个按钮Button1,按此按钮将把表单置为由左向右由黄变白的渐变效果。 
      2.Button1按钮的代码如下: 
      procedure TForm1.Button1Click(Sender: TObject); 
      var i,j:Integer; 
      Dct:TRect; 
      begin 
      j:=Form1.height; 
      //获得表单高度 
      for i:=0 to 255 do 
      //此处设置RGB()中一个颜色值 
      begin 
      Canvas.Brush.Color:=RGB(255,255,i); 
      //每次画矩形的画刷颜色 
      Dct:=Rect(i*2,0,(i+1)*2,j); 
      //每次刷绘的矩形区域   Canvas.FillRect(Dct); 
      //填充颜色 
      end; 
      end; 
       
      

  3.   

    没有这样的吧,变也得变颜色值呀
    procedure TForm1.Button1Click(Sender: TObject); 
      var i,j:Integer; 
      begin 
    color1:=**;
    color2:=***;
      //获得表单高度 
      for i:=0 to j do 
      //此处设置RGB()中一个颜色值 
      begin 
      Canvas.Brush.Color:=int((color2*i+color1*(j-i))/j); 
      //每次画矩形的画刷颜色 
    moveto( )  
    lineto() 你自己算一下 
      end; 
      end; 
       
      

  4.   

    这是颜色渐变函数
    int((color2*i+color1*(j-i))/j); 
    你可以从一边到另一边,(line就行)也可以从中间到外边(fillrect)
      

  5.   

    我知道用连续绘制不同颜色的矩形实现颜色渐变的方法,我是想找一个直接可以调用的函数。我记得曾经在一份报纸上看到过,参数大约是渐变的范围、起始颜色、终止颜色等等,可以直接在Canvas上一个指定的Rect内绘制出渐变的效果。好像是一个Windows的API,但是具体的声明我记不得了,所以才会问这个问题。