我要做一个程序,实现改变图像中指定的颜色的功能。
我的代码如下:可是出来的效果不好,原来的颜色还剩下很多,没有全部改变,为什么阿?
procedure TForm1.BitBtn1Click(Sender: TObject);
var
   xmax,ymax,i,j:integer;
   r,g,b,r1,r2,r3:integer;begin
xmax:=self.Image1.Picture.Width-1;
ymax:=self.Image1.Picture.Height-1;
form1.Refresh;
self.ProgressBar1.Min:=0;
self.ProgressBar1.Max:=xmax;
self.ProgressBar1.Position:=0;
self.ProgressBar1.Step:=1;
form1.Refresh;
t:=self.Image1.Canvas.Pixels[1,1];
for i:=0 to xmax do
begin
self.ProgressBar1.StepIt;
for j:=0 to ymax do
begin
if self.Image1.Canvas.Pixels[i,j]=t then
begin
r:=100;
g:=30;
b:=70;
self.Image1.Canvas.Pixels[i,j]:=rgb(r,g,b);
end;end;
end;
self.Image1.Refresh;
end;