unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Image1: TImage;
Image2: TImage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:Integer;
Pl1,pl2,pl3,pl
ByteArray;
otbmp:TBitmap;
tbmp:TBitmap;
begin
tbmp:=TBitmap.Create;
tbmp.Assign(image1.Picture.Bitmap);
otbmp:=TBitmap.Create;
tbmp.PixelFormat:=pf24bit;
otbmp.PixelFormat:=pf24bit;
otbmp.Width:=tbmp.Width;
otbmp.Height:=tbmp.Height;
pl2:=tbmp.ScanLine[1];
pl2:=tbmp.ScanLine[2];
for i:=0 to tbmp.Height -3 do
begin
pl1:=pl2;
pl2:=pl3;
pl3:=tbmp.ScanLine
;
pl:=otbmp.ScanLine;
for j:=2 to (tbmp.Width-2)*3 do
begin
pl[j]:=(pl1[j-3]+pl1[j]+pl1[j+3]+
pl2[j-3]+pl2[j]+pl2[j+3]+
pl3[j-3]+pl3[j]+pl3[j+3])div 9;
end;
end;
image1.Picture.Bitmap :=otbmp;
otbmp.Free;
tbmp.free;
end;
end.
看看行不行。