(Gast)
n/a Beiträge
|
AW: External: SIGEGV bei Rect()
6. Dez 2016, 23:27
Wo steht denn jetzt das Create, immer noch hinter der vom Debugger bemängelten Zeile?
Ohne Gewähr für irgendwas:
Delphi-Quellcode:
begin
img := TImage.Create;
kanten := TImage.Create;
blaueflaeche := TImage.Create;
filterRad := 3;
durchschnitt := (filterRad * 2) - 1;
img.LoadFromFile(Pfad);
DstRect := Rect(0, 0, img.Width, img.Height);
kanten.setSize(img.Width, img.Height);
blaueflaeche.setSize(img.Width, img.Height);
kanten := findeKanten(img, filterRad, 200, kanten); // <- wie sieht denn diese Funktion aus, was hat sie für 'nen Rückgabewert?
blaueflaeche := findeBlau(img, filterRad, blaueflaeche);
for x := filterRad to img.Width - filterRad - 1 do
begin
for y := filterRad to img.Height - filterRad - 1 do
begin
if (isObenLinks(kanten, x, y, 3) AND hatBlaueFlaeche(blaueflaeche, x, y, 3)) then
begin
SrcRect := Rect(x, y, 300, 200);
Result.Canvas.CopyMode := cmSrcCopy;
Result.Canvas.CopyRect(dstRect, img.Canvas, SrcRect);
break;
end;
end;
end;
FreeAndNil(img);
FreeAndNil(kanten);
FreeAndNil(blaueflaeche);
end;
|
|
Zitat
|