像素点转换成RGB值问题

                            
将bmp图片的各像素点RGB值依次存入一个2维矩阵中,是不是用如下代码啊?和jpg图片的操作一样(先转换成bmp).为什么如下代码运行的时候,总是提示stack   overflow?请各位高手赐教!分不够再加!   
  type  
      tagRGBTRIPLE   =   packed   record  
        rgbtBlue:   Byte;  
        rgbtGreen:   Byte;  
        rgbtRed:   Byte;  
      end;  
          TRGBTriple   =   tagRGBTRIPLE;  
          TRGBArray     =   ARRAY[0..307200]   OF   TRGBTriple;  
          pRGBArray   =   ^TRGBArray;  
   
  //象素点转换成RGB值  
  procedure   Tmainform.rgbchange(ImgRGB:TRGBArray);  
  Var  
      Row:pRGBArray;  
      i,j,n:Integer;  
  begin  
  n:=0;  
  for   i:=0   to   image1.Picture.bitmap.Height-1   do  
  begin  
      Image1.Picture.BItmap.PixelFormat:=pf24bit;  
      Row:=Image1.Picture.bitmap.ScanLine[i];  
      for   j:=0   to   image1.Picture.bitmap.Width-1   do  
      begin  
          ImgRGB[n].rgbtRed:=Row^[j].rgbtRed;  
          ImgRGB[n].rgbtGreen:=Row^[j].rgbtGreen;  
          ImgRGB[n].rgbtBlue:=Row^[j].rgbtBlue;  
          inc(n);  
          end;  
      end;  
  end;

查看回复

相关问题