var
TPixels: Array of Array of TRGBTriple;procedure ReadPixel(LocalBmp:TBitmap);
var
PixPtr: PbyteArray;
i,j,m: Integer;
begin
SetLength(TPixels,LocalBmp.Width,LocalBmp.Height);
LocalBmp.PixelFormat:=pf24bit;
LocalBmp.HandleType:=bmDIB;
for i:=0 to LocalBmp.Height-1 do
begin
PixPtr:=LocalBmp.ScanLine[i];
for j:=0 to LocalBmp.Width-1 do
begin
m:=j*3;
TPixels[j,i].rgbtBlue:=PixPtr[m];
TPixels[j,i].rgbtGreen:=PixPtr[m+1];
TPixels[j,i].rgbtRed:=PixPtr[m+2];
form1.Memo1.Lines.Add(TPixels[j,i]);
end;
end;
end;我想把一个图片的像素存在一个二维数组中,上面的代码对吗?
TPixels: Array of Array of TRGBTriple;procedure ReadPixel(LocalBmp:TBitmap);
var
PixPtr: PbyteArray;
i,j,m: Integer;
begin
SetLength(TPixels,LocalBmp.Width,LocalBmp.Height);
LocalBmp.PixelFormat:=pf24bit;
LocalBmp.HandleType:=bmDIB;
for i:=0 to LocalBmp.Height-1 do
begin
PixPtr:=LocalBmp.ScanLine[i];
for j:=0 to LocalBmp.Width-1 do
begin
m:=j*3;
TPixels[j,i].rgbtBlue:=PixPtr[m];
TPixels[j,i].rgbtGreen:=PixPtr[m+1];
TPixels[j,i].rgbtRed:=PixPtr[m+2];
form1.Memo1.Lines.Add(TPixels[j,i]);
end;
end;
end;我想把一个图片的像素存在一个二维数组中,上面的代码对吗?
rgbtBlue: Byte;
rgbtGreen: Byte;
rgbtRed: Byte;
end;
TRGBTriple = tagRGBTRIPLE;
可以把值转换成String存入Memo
请问上面的声明是添加到哪里?type?
type
tagRGBTRIPLE = packed record
rgbtBlue: Byte;
rgbtGreen: Byte;
rgbtRed: Byte;
end;
.....
Var
Form1:TForm;