AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Zusammenhängene Pixel zählen
Thema durchsuchen
Ansicht
Themen-Optionen

Zusammenhängene Pixel zählen

Ein Thema von Eichhoernchen · begonnen am 1. Jul 2006 · letzter Beitrag vom 5. Jul 2006
 
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: Zusammenhängene Pixel zählen

  Alt 5. Jul 2006, 03:41
Dabei sollte man nur im Hinterkopf behalten, dass Bitmaps mal top-down, und mal "richtig herum" im Speicher liegen. Ich weiss nur grad nicht wodurch das defniniert ist, bzw. ob das überhaupt definiert ist. Für diesen Fall hier sollte das allerdings keine großen Unterschiede machen.

Btw: Als ich "zusammenhängende Pixel" las, musste ich auch zu aller erst an "Rekursion" denken. Ich denke der Ansatz von Toxman ist sehr brauchbar.
Anmerkung zu "SetLength(array, Length(array)+1);": Dazu gab es in der DP schon irre Threads. Fakt ist: Es ist unglaublich ineffizient, und aus Sicht des Speichermanagements ein Schlag ins Gesicht
Und zu Scanline vs. Pixels[]: Auch die Verwaltung von 3 oder mehr Scanlines ist im Zweifel erheblich schneller als Pixels! Man kann aber auch mit Wissen um die Breite eines Bildes mit einfachen Rechnungen an Pixel über oder unter dem aktuellen kommen, was noch immer viel viel effizienter ist als Pixels. (Ein Bitmap wird ja immerhin 1-dimensional gespeichert, und zwar so, dass die Zeilen im Speicher "nebeneinander" liegen. Um kontrolliert zugreifen zu können reichen also die folgenden 3 Infos völlig aus: Pointer auf den ersten Pixel; Pixelformat; Höhe+Breite des Bildes.)
Wenn man sich btw. anschaut, was Pixels alles für Umwege macht beim Zugriff darauf, wird denke ich auch deutlich wo da der Hund begraben ist. Pixels ist imho eines der dicken "don'ts" im Umgang mit Bitmaps, bzw. gerade dann, wenn man mehr als nur eine Hand voll Pixel lesen/schreiben will.


Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz