📄 about.pas
字号:
unit about;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, jpeg;
type
Tfrm_about = class(TForm)
Image1: TImage;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure Image1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_about: Tfrm_about;
implementation
{$R *.DFM}
procedure Tfrm_about.Button1Click(Sender: TObject);
begin
close;
end;
procedure Tfrm_about.Image1Click(Sender: TObject);
var
x,y,i:integer;
Bitmap,Bitmap1,Bitmap2:TBitmap;
pixcolo,pixcolo1,pixcolo2:PByteArray;
begin
button1.Enabled:=false;
Bitmap:=TBitmap.Create;
//创建TBitMap实例
try
//Bitmap.LoadFromFile('e:\byxj\pic\start.bmp');
Bitmap.LoadFromFile('byxj\pic\start.bmp');
Bitmap.PixelFormat:=pf24bit;
for i:=0 to 255 do
begin
for y:=0 to Bitmap.Height-1 do
begin
pixcolo:=Bitmap.Scanline[y];
//扫描每行像素颜色
for x:=0 to ((bitmap.Width*3)-1) do
if pixcolo[x]>0 then pixcolo[x]:=(pixcolo[x]-1);
//递减颜色值,不同的递减值可改变不同的速度
end;
Image1.Canvas.Draw(0,0,Bitmap);
//画出图像
Application.ProcessMessages;
//系统做其他工作
end;
finally
Bitmap.free; //释放位图
Bitmap1:=TBitmap.Create;
Bitmap2:=TBitmap.Create;
try
//Bitmap1.LoadFromFile('e:\byxj\pic\start.bmp');
//将同一幅图像装入两个TBitmap实例
//Bitmap2.LoadFromFile('e:\byxj\pic\start.bmp');
Bitmap1.LoadFromFile('byxj\pic\start.bmp');
Bitmap2.LoadFromFile('byxj\pic\start.bmp');
Bitmap1.pixelFormat:=pf24bit;
Bitmap2.pixelFormat:=pf24bit;
for y:=0 to Bitmap2.height-1 do
begin
pixcolo2:=Bitmap2.Scanline[y];
for x:=0 to ((Bitmap2.Width*3)-1) do
pixcolo2[x]:=0;
//先将要处理的图像的像素颜色值设为0
end;
for i:=0 to 255 do
begin
for y:=0 to Bitmap2.Height-1 do
begin
pixcolo2:=Bitmap2.Scanline[y];
pixcolo1:=Bitmap1.Scanline[y];
for x:=0 to ((Bitmap2.Width*3)-1) do if pixcolo2[x]<pixcolo1[x] then pixcolo2[x]:=(pixcolo2[x]+1);
end;
//与原始图的像素颜色值比较,并递增其值直到与原始图相等
Image1.Canvas.Draw(0,0,Bitmap2);
Application.ProcessMessages;
end;
finally
Bitmap1.free
end;
end;
button1.Enabled:=true;
end;
procedure Tfrm_about.FormShow(Sender: TObject);
begin
//AnimateWindow(Self.Handle, 250, AW_CENTER or AW_ACTIVATE);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -