Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Überflüssigen Hindergrund bei Bildern entfernen

  Alt 26. Jun 2013, 20:35
Wenn das Objekt konvex ist, ist dein Ansatz doch eine ganz gute Lösung. Wenn es konkav ist, ist FloodFill wahrscheinlich das, was du suchst (entspricht dem Farbeimer bei Paint).

Edit: Achso, zu Scanline: Du kannst alle Scanline-Pointer in einem Array zwischenspeichern, dann geht das auch vertikal. Oder noch besser, du sorgst dafür, dass die Scanlines im Speicher alle direkt hintereinanderstehen, dann ist es mit einfacher Pointer-Arithmethik getan. Das ist beim normalen TBitmap leider nicht gegeben, da müsstest du entweder in einen extra Speicherbereich umkopieren oder du nimmst TBitmap32 von Graphics32, da wird das so gemacht (vermutlich einer der Hauptgründe, warum Graphics32 so schnell ist im Vergleich zum normalen Canvas/Bitmap).

Geändert von Namenloser (26. Jun 2013 um 20:38 Uhr)
  Mit Zitat antworten Zitat