myamanda

博客园 首页 新随笔 联系 订阅 管理
procedure TForm1.Button1Click(Sender: TObject);
var
  lo:tbitmap;
  i,j:integer;
  kl:longint;
  rr,gg,bb:byte;
  res:byte;
begin
  lo:=tbitmap.create;
  lo.Width:=image1.Width;
  lo.height:=image1.height;
  ProgressBar1.Max:=image1.Width+1;
  for i:=0 to image1.Width+1 do
  begin
    for j:=0 to image1.height+1 do
    begin
      kl:=ColorToRGB(image1.Canvas.Pixels[i,j]);
      rr:=byte(kl);
      gg:=byte(kl shr 8);
      bb:=byte(kl shr 8);
      res:=(rr+gg+bb) div 3;
      lo.Canvas.Pixels[i,j]:=rgb(res,res,res);
    end;
    ProgressBar1.Position:=i;
  end;//for do
  image1.Canvas.Draw(0,0,lo);
  lo.free;
end;
posted on 2009-08-10 13:22  myamanda  阅读(354)  评论(0)    收藏  举报