zoukankan      html  css  js  c++  java
  • 绘制窗体渐变背景的函数[delphi]

    绘制窗体渐变背景的函数,三个参数分别代表起始颜色,终止颜色,绘制方向
    procedure TForm1.Draw(StartColor:TColor;EndColor:TColor;Direction:Integer);
    var
    i:Integer;
    Dct:TRect;
    c1,c2,c3:byte;
    begin
    if Direction=0 then
    begin
    for i:=0 to self.Width-1 do
    begin
    c1:=GetRValue(StartColor)+Trunc(i*(GetRValue(EndColor)-GetRValue(StartColor))/(self.Width-1));
    c2:=GetGValue(StartColor)+Trunc(i*(GetGValue(EndColor)-GetGValue(StartColor))/(self.Width-1));
    c3:=GetBValue(StartColor)+Trunc(i*(GetBValue(EndColor)-GetBValue(StartColor))/(self.Width-1));
    Canvas.Brush.Color:=RGB(c1,c2,c3);
    //每次画矩形的画刷颜色
    Dct:=Rect(i,0,i+1,self.Height);
    //每次刷绘的矩形区域
    Canvas.FillRect(Dct);
    //填充颜色
    end;
    end
    else
    begin
    for i:=0 to self.Height-1 do
    begin
    c1:=GetRValue(StartColor)+Trunc(i*(GetRValue(EndColor)-GetRValue(StartColor))/(self.Height-1));
    c2:=GetGValue(StartColor)+Trunc(i*(GetGValue(EndColor)-GetGValue(StartColor))/(self.Height-1));
    c3:=GetBValue(StartColor)+Trunc(i*(GetBValue(EndColor)-GetBValue(StartColor))/(self.Height-1));
    Canvas.Brush.Color:=RGB(c1,c2,c3);
    //每次画矩形的画刷颜色
    Dct:=Rect(0,i,self.Width,i+1);
    //每次刷绘的矩形区域
    Canvas.FillRect(Dct);
    //填充颜色
    end;
    end;
    end;

  • 相关阅读:
    Matlab矢量图图例函数quiverkey
    FVCOM泥沙模块河流边界处理
    高分辨率格式
    linux字节
    转:海洋地震采集
    海上地震勘探视频
    如何设置默认打印机
    如何查询是否正式刊物
    屏幕截图
    Word中文字与公式不对齐
  • 原文地址:https://www.cnblogs.com/blogpro/p/11446798.html
Copyright © 2011-2022 走看看