自己开发的delphi 100lei 内容丰富 绝对不要错过了啊。

源代码在线查看: unitfrmmain.pas

软件大小: 8400 K
上传用户: zhouqiaks
关键词: delphi 100 lei
下载地址: 免注册下载 普通下载 VIP

相关代码

				unit unitFrmMain;
				
				interface
				
				uses
				  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
				  ExtCtrls, StdCtrls;
				
				type
				  TForm1 = class(TForm)
				    Button1: TButton;
				    Button2: TButton;
				    Image1: TImage;
				    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);
				var
				  x, y, i: integer;
				  Bitmap: TBitmap;
				  pixcolo: PByteArray;
				begin
				  Bitmap := TBitmap.Create;
				  //创建TBitMap实例
				  try
				    Bitmap.LoadFromFile
				      ('sample.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; //释放位图
				  end;
				end;
				
				procedure TForm1.Button2Click(Sender: TObject);
				var
				  x, y, i, j: integer;
				  Bitmap1, Bitmap2: TBitmap;
				  pixcolo1, pixcolo2: PByteArray;
				begin
				  Bitmap1 := TBitmap.Create;
				  Bitmap2 := TBitmap.Create;
				  try
				    Bitmap1.LoadFromFile('sample.bmp');
				    //将同一幅图像装入两个TBitmap实例
				    Bitmap2.LoadFromFile('sample.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]				          end;
				        //与原始图的像素颜色值比较,并递增其值直到与原始图相等
				        Image1.Canvas.Draw(0, 0, Bitmap2);
				        Application.ProcessMessages;
				      end;
				  finally
				    Bitmap1.free
				  end;
				end;
				
				end.
				
							

相关资源