首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

为啥这个代码-取出的像索点数量不一样

2013-07-04 
为什么这个代码----------------取出的像索点数量不一样?这个是把图片里的每个像索点取出来,可为什么我读

为什么这个代码----------------取出的像索点数量不一样?

这个是把图片里的每个像索点取出来,
可为什么我读出的递增值和生成的每个像索点的数量不一致?
X值为:2010372549
而输出memo1的颜色行数才有44369行?

晕了。。


procedure TMainForm.Button1Click(Sender: TObject);
var
    i,j,x:Integer;
begin
    with Image1.Picture.Bitmap.Canvas.ClipRect do
    begin
        for i:= left to Right do
            for j:= top To Bottom do
            begin
                Memo1.Lines.Add(ColorToString(Image1.Picture.Bitmap.Canvas.Pixels[i,j]));
                Inc(x);
                Application.ProcessMessages;
            end;           
    
    end;
    ShowMessage(IntToStr(x));
    Image1.Refresh;
    
end;

[解决办法]
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  i,j,x:Integer;
begin
  with Image1.Picture.Bitmap.Canvas do
  begin
    for i:= 0 to Width - 1 do
      for j:= 0 To Height - 1 do
      begin
        Memo1.Lines.Add(ColorToString(Image1.Picture.Bitmap.Canvas.Pixels[i,j]));
        Inc(x);
        Application.ProcessMessages;
      end;
  end;
  ShowMessage(IntToStr(x));
  Image1.Refresh;
end;

热点排行