📄 picprocessor.pas
字号:
for i:=0 to x-4 do
begin
for j:=0 to y-4 do
begin
rx := random(3);
ry := random(3);
red := rgbpoint[i+rx, j+ry].r;
green := rgbpoint[i+rx, j+ry].g;
blue := rgbpoint[i+rx, j+ry].b;
MyBitmap.Canvas.Pixels[i,j] := RGB(red, green, blue);
end;
end;
Image2.Picture.Bitmap.Assign(MyBitmap);
end;
procedure TForm1.MNID128Click(Sender: TObject);
var
red : Integer;
green : Integer;
blue : Integer;
begin
Image2.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
GetRgbp(Sender);
i := 1;
while(i < x-1) do
begin
j := 1;
while(j < y-1) do
begin
red := rgbpoint[i, j].r;
green := rgbpoint[i, j].g;
blue := rgbpoint[i, j].b;
MyBitmap.Canvas.Pixels[i, j] := RGB(red, green, blue);
MyBitmap.Canvas.Pixels[i, j+1] := RGB(red, green, blue);
MyBitmap.Canvas.Pixels[i+1, j] := RGB(red, green, blue);
MyBitmap.Canvas.Pixels[i+1, j+1] := RGB(red, green, blue);
j := j+2;
end;
i := i+2;
end;
Image2.Picture.Bitmap.Assign(MyBitmap);
end;
procedure TForm1.MNID64Click(Sender: TObject);
var
red : Integer;
green : Integer;
blue : Integer;
k1 : Integer;
k2 : Integer;
begin
Image2.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
GetRgbp(Sender);
i := 1;
while(i < x-1) do
Begin
j:=1;
while(j < y-1) do
begin
red := rgbpoint[i, j].r;
green := rgbpoint[i,j].g;
blue := rgbpoint[i, j].b;
for k1:=0 to 4 do
for k2:=0 to 4 do
MyBitmap.Canvas.Pixels[i+k1, j+k2] := RGB(red, green, blue);
j := j+4;
end;
i := i+4;
end;
Image2.Picture.Bitmap.Assign(MyBitmap);
end;
procedure TForm1.MNID32Click(Sender: TObject);
var
red : Integer;
green : Integer;
blue : Integer;
k1 : Integer;
k2 : Integer;
begin
Image2.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
GetRgbp(Sender);
i := 1;
while(i < x-1) do
Begin
j:=1;
while(j < y-1) do
begin
red := rgbpoint[i, j].r;
green := rgbpoint[i,j].g;
blue := rgbpoint[i, j].b;
for k1:=0 to 8 do
for k2:=0 to 8 do
MyBitmap.Canvas.Pixels[i+k1, j+k2] := RGB(red, green, blue);
j := j+8;
end;
i := i+8;
end;
Image2.Picture.Bitmap.Assign(MyBitmap);
end;
procedure TForm1.MNID16Click(Sender: TObject);
var
red : Integer;
green : Integer;
blue : Integer;
k1 : Integer;
k2 : Integer;
begin
Image2.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
GetRgbp(Sender);
i := 1;
while(i < x-1) do
Begin
j:=1;
while(j < y-1) do
begin
red := rgbpoint[i, j].r;
green := rgbpoint[i,j].g;
blue := rgbpoint[i, j].b;
for k1:=0 to 16 do
for k2:=0 to 16 do
MyBitmap.Canvas.Pixels[i+k1, j+k2] := RGB(red, green, blue);
j := j+16;
end;
i := i+16;
end;
Image2.Picture.Bitmap.Assign(MyBitmap);
end;
procedure TForm1.MNIRTranClick(Sender: TObject);
var
red : Integer;
green : Integer;
blue : Integer;
begin
Image2.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
GetRgbp(Sender);
for i:=1 to x-1 do
begin
for j:=1 to y-1 do
begin
red := rgbpoint[i,j].r;
//green := rgbpoint[i,j].g;
//blue := rgbpoint[i,j].b;
MyBitmap.Canvas.Pixels[i, j] := RGB(red, 0, 0);
end;
end;
Image2.Picture.Bitmap.Assign(MyBitmap);
end;
procedure TForm1.MNIGTranClick(Sender: TObject);
var
red : Integer;
green : Integer;
blue : Integer;
begin
Image2.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
GetRgbp(Sender);
for i:=1 to x-1 do
begin
for j:=1 to y-1 do
begin
//red := rgbpoint[i,j].r;
green := rgbpoint[i,j].g;
//blue := rgbpoint[i,j].b;
MyBitmap.Canvas.Pixels[i, j] := RGB(0,green,0);
end;
end;
Image2.Picture.Bitmap.Assign(MyBitmap);
end;
procedure TForm1.MNIBTranClick(Sender: TObject);
var
red : Integer;
green : Integer;
blue : Integer;
begin
Image2.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
GetRgbp(Sender);
for i:=1 to x-1 do
begin
for j:=1 to y-1 do
begin
//red := rgbpoint[i,j].r;
//green := rgbpoint[i,j].g;
blue := rgbpoint[i,j].b;
MyBitmap.Canvas.Pixels[i, j] := RGB(0, 0, blue);
end;
end;
Image2.Picture.Bitmap.Assign(MyBitmap);
end;
procedure TForm1.MNIGrayTranClick(Sender: TObject);
var
red : Integer;
green : Integer;
blue : Integer;
gray : Integer;
begin
Image2.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
GetRgbp(Sender);
for i:=1 to x-1 do
begin
for j:=1 to y-1 do
begin
red := rgbpoint[i,j].r;
green := rgbpoint[i,j].g;
blue := rgbpoint[i,j].b;
gray := (red + green + blue) div 3;
MyBitmap.Canvas.Pixels[i, j] := RGB(gray, gray, gray);
end;
end;
Image2.Picture.Bitmap.Assign(MyBitmap);
end;
procedure TForm1.MNILumIncClick(Sender: TObject);
var
red : Integer;
green : Integer;
blue : Integer;
LumColor : Integer;
begin
Image2.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
GetRgbp(Sender);
LumColor := 20;
for i:=1 to x-1 do
begin
for j:=1 to y-1 do
begin
red := rgbpoint[i, j].r;
green := rgbpoint[i, j].g;
blue := rgbpoint[i, j].b;
red := red+LumColor;
if(red > 255) then
red:=255;
green := green+LumColor;
if(green > 255) then
green:=255;
blue := blue+LumColor;
if(blue > 255) then
blue:=255;
MyBitmap.Canvas.Pixels[i,j] := RGB(red, green, blue);
end;
end;
Image2.Picture.Bitmap.Assign(MyBitmap);
end;
procedure TForm1.MNILumDecClick(Sender: TObject);
var
red : Integer;
green : Integer;
blue : Integer;
LumColor : Integer;
begin
Image2.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
GetRgbp(Sender);
LumColor := 20;
for i:=1 to x-1 do
begin
for j:=1 to y-1 do
begin
red := rgbpoint[i, j].r;
green := rgbpoint[i, j].g;
blue := rgbpoint[i, j].b;
red := red-LumColor;
if(red < 0) then
red:=0;
green := green-LumColor;
if(green < 0) then
green:=0;
blue := blue-LumColor;
if(blue < 0) then
blue:=0;
MyBitmap.Canvas.Pixels[i,j] := RGB(red, green, blue);
end;
end;
Image2.Picture.Bitmap.Assign(MyBitmap);
end;
procedure TForm1.MNIExitClick(Sender: TObject);
begin
close();
end;
//******************************************************
procedure TForm1.MNIInputClick(Sender: TObject);
var StrR : String;
var StrG : String;
var StrB : String;
begin
StrR := InputBox('红色参数','请输入一个整数:', '255');
StrG := InputBox('绿色参数','请输入一个整数:', '255');
StrB := InputBox('蓝色参数','请输入一个整数:', '255');
{IntR := 255;
IntG := 255;
IntB := 255;}
{try
IntR := strtoint(StrR);
IntG := strtoint(StrG);
IntB := strtoint(StrB);
except
on MyError : EConvertError do
//SetColorOfScrToDef();
end;}
end;
procedure TForm1.MNIScreenClick(Sender: TObject);
begin
//PicProcessor.Form2.FormCreate(Sender);
//PicProcessor.Form2.show;
//Form2.Show;
// S := 200;
//showcursor(false);
//MouseHide:=true;
//screen.Cursor := crNone;
//Form2.show;
Form3.show;
//FormShow(Sender);
end;
//******************************************************
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -