hallo zusammen!
versuche schon seit stunden werte von einem array in ein anderes (beides globale variablen unterschiedlicher typen) zu übergeben. das ist mir dann auch irgendwann gelungen aber nicht so wie ichs gerne hätte...so siehts jetzt aus:
Code:
type tvoxel = record
nr : longint;
x,
y,
z : integer;
end;
var
Form1: TForm1;
implementation
var pixels : array of integer;
points : array of tvoxel;
no : integer=1;
xmax,
ymax : integer;
{$R *.dfm}
procedure getpixelsleft(bitmap:tBitmap);
var i,j : integer;
row : ^tRGBTriple;
begin
setlength(pixels,bitmap.Height);
for j := 0 to bitmap.Height - 1 do begin
row := bitmap.ScanLine[j];
for i := 10 to bitmap.Width - 10 do begin
if (row^.rgbtRed=0) then begin
pixels[j]:=i;
end;
inc(row)
end;
end;
bitmap.Assign(bitmap);
end;
procedure getpixelsright(bitmap:tBitmap);
var i,j : integer;
row : ^tRGBTriple;
begin
setlength(pixels,bitmap.Height);
for j := bitmap.Height - 2 downto 2 do begin
row := bitmap.ScanLine[j];
for i := bitmap.Width downto 0 do begin
if (row^.rgbtRed=0) then begin
pixels[j]:=i;
end;
inc(row)
end;
end;
bitmap.Assign(bitmap);
end;
procedure pixelstopoints;
var j : integer;
begin
{ setlength(points, 1000);
for j := 0 to ymax-1 do begin
points[j].x:=pixels[j];
points[j].y:=j;
points[j].z:=pixels[j];
end;
}
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
image1.Picture.LoadFromFile('c:\z\3.bmp');
getpixelsleft(image1.Picture.Bitmap);
pixelstopoints;
// getpixelsright(image1.Picture.Bitmap);
end;
procedure TForm1.Button2Click(Sender: TObject);
var n: integer;
begin
setlength(points, 1000);
ListBox1.Items.Clear;
for n := 1 to (image1.Picture.Bitmap.height) do begin
points[n].x:=pixels[n];
points[n].y:=n;
points[n].z:=pixels[n];
Listbox1.Items.Add(InttoStr(n)+' : '+Inttostr(points[n].x));
end;
end;
es sollen also werte von "pixels" an "points" übergeben werden, aber in der procedure pixelstopoints und nicht wie ich das jetzt gelöst habe in dem click-ereignis.
wie ich's eigentlich gerne hätte steht jetzt wie ihr seht in {}. was hab ich falsch gemacht?
thx @all, toby