用delphi载入一幅图片,然后把每个像素点的颜色值,输出到一个文本文件里。找了些资料,却还是完不成代码。

解决方案 »

  1.   

    var
    X,Y:Integer;
    PRGB: pRGBTriple;
    bmp:Tbitmap;
    str:string;
    begin
    if not OpenDialog1.Execute then exit;
    Memo1.Lines.BeginUpdate;
    Memo1.Lines.Clear;
    bmp:=Tbitmap.Create;
    bmp.LoadFromFile(OpenDialog1.FileName);
    bmp.PixelFormat:=pf24bit;
      for y:=0 to Bmp.Height-1 do begin
          pRGB := Bmp.ScanLine[Y];
          str:='';
          for x:=0 to Bmp.Width-1 do begin
            str:=str+Inttohex(RGB(pRGB^.rgbtRed,pRGB^.rgbtGreen,pRGB^.rgbtBlue),6)+' ';
            inc(pRGB);
          end;
          Memo1.Lines.Add(str);
      end;
    bmp.Free;
    Memo1.Lines.EndUpdate;
    Memo1.Lines.SaveToFile('c:\aaa.txt');
    end;