Registriert seit: 24. Mär 2009
364 Beiträge
|
aus 2 bildern eins machen
21. Nov 2009, 23:30
hey,
ich wollte aus 2 Bildern 1 machen. Hierbei gibt es aber nen kleinen Überschnitt...
so theoretisch funktioniert meine schleife auch ABer wenn ich sie länger laufen lasse fliege ich mit der meldung 'für diese berechung ist zu wenig speicher vorhanden' raus ... das kann eigl. nicht sein ich hab 3 Gb Ram ...
könntet ihr euch mein code mal angucken und sagen wo das Speicherleck ist ?
danke schonmal :
Delphi-Quellcode:
procedure TForm1.Zusammsetzen(Start: Integer);
var
Bild: TBitmap ;
ZBild1, ZBild2 : TBitmap ;
Name_B1, Name_B2 : String ;
procedure Schneiden(Name: string);
var
Bild : TBitmap;
begin
Bild := TBitmap.Create;
try
Bild.LoadFromFile(Name+'.Bmp');
Bild.Canvas.CopyRect(Rect(0, 0, 914, 687), Bild.Canvas, Rect(153, 4, 1067, 690));
Bild.Width := 914;
Bild.Height := 687;
Image1.Picture.Assign(Bild);
Bild.SaveToFile(Name+'.bmp');
finally
Bild.Free;
end;
end;
procedure Schneiden2(Name: string);
var
Bild : TBitmap;
begin
Bild := TBitmap.Create;
try
Bild.LoadFromFile(Name+'.Bmp');
Bild.Canvas.CopyRect(Rect(0, 0, 914, 687), Bild.Canvas, Rect(153, 4, 1067, 687));
Bild.Width := 914;
Bild.Height := 687;
Image2.Picture.Assign(Bild);
Bild.SaveToFile(Name+'.bmp');
finally
Bild.Free;
end;
end;
begin
Schneiden(IntToStr(Start));
Schneiden2(IntToStr(Start +1));
Bild := TBitmap.Create;
ZBild2 := TBitmap.Create;
ZBild1 := TBitmap.Create;
Bild.Width := 914;
Bild.Height := 1369 ;
Name_B1 := IntToStr(Start);
Name_B2 := IntToSTr(Start +1 );
ZBild1.LoadFromFile(name_B1 + '.bmp');
ZBild2.LoadFromFile(name_B2 + '.bmp');
DeleteFile(Name_B1 + '.bmp');
DeleteFile(Name_B2 + '.bmp');
Bild.Canvas.CopyRect(Rect(0, 0, 914, 687), ZBild1.Canvas, Rect(0, 0, ZBild1.Width, ZBild1.Height));
Bild.Height := 614;
Bild.Height := 1369;
Bild.Canvas.CopyRect(Rect(0, 625, 914, 1369), ZBild2.Canvas, Rect(0, 0, ZBild2.Width, ZBild2.Height));
Image3.Picture.Assign(Bild);
Image3.Picture.SaveToFile(name_B1 + '.bmp');
end;
könnt ihr mir sagen wo der fehler ist ?
|
|
Zitat
|