⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 Delphi7编程80例(完全版)
💻 PAS
字号:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    TrackBar1: TTrackBar;
    Label1: TLabel;
    Image1: TImage;
    Button2: TButton;
    SavePictureDialog1: TSavePictureDialog;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const step=20;       //正方形的边长
var n,i,j:Integer;
begin
Form1.Repaint;
 For n:=0 to 20 do        //渐变的数量
  For i:=0 To 10 DO       //控制水平填充效果
   For j:=0 To 10 DO      //控制竖直填充效果
begin
With Image1 Do
  Begin
  If RadioButton1.Checked Then
   Canvas.Brush.Color:=RGB(255-25*n,255-25*n,255-25*n) //浮雕色,也可以进行其他的设置
  Else If RadioButton2.Checked Then
   Canvas.Brush.Color:=RGB(TrackBar1.Position,255-12*n,255-12*n)  //镂射效果的灯光颜色
  Else If RadioButton3.Checked Then
   Canvas.Brush.Color:=RGB(Random(255),random(255),Random(255)); //编织带颜色设置

 //这一行代码控制水平效果输出
Canvas.FillRect(Rect(i,n,(i+1)*step,n+1));          // 水平渐变
 //这两行代码控制竖直效果输出
Canvas.FillRect(Rect(i,j*step+n,(i+1)*step,j*step+n+1));          //竖直渐变
Canvas.FillRect(Rect((i+1)*step+n,j*step,(i+1)*step+n+1,j*step+step));
end;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
If SavePictureDialog1.Execute Then
 Image1.Picture.SaveToFile(SavePictureDialog1.FileName); //保存特殊效果
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -