Also ob das Objekt konkav oder konvex ist spielt eigentlich keine Rolle. Es soll ja einfach nur der Anfang gefunden werden.
Also für Oben und Unten habe ich schon den Code.
Die Frage ich jetzt nur wie ich Links und Rechts prüfe.
Oben
Code:
for H := 0 to aBitmap.Height - 1 do
begin
// Zeile einlesen
P := aBitmap.ScanLine[H];
// Wenn Anfang noch nicht gefunden, dann prüfen
if RowFound = False then
begin
for W := 0 to aBitmap.Width - 1 do
begin
// Wenn Pixel nicht weiß, dann Zeile merken
if not (RowFound = True) and not (P^[1] = 255) and not (P^[2] = 255) and not (P^[3] = 255) then
begin
Row := H;
RowFound := True;
end;
Inc(P);
end;
end;
end;
Unten das Gleiche nur mit downto in der Schleife.
Prüfe ich jetzt links und rechts gleich in den schleifen oder wie mache ich das am Besten?
Momentan scheint mir die einfachste Lösung das Drehen des Bildes zu sein.
Wäre aber cool wenn es auch so gehen würde.