📄 unit1.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 + -