![]() |
Re: Pixel gleicher Farbe zählen
Das wird es wahrscheinlich sein @dominikkv, dein Bitmap hat keine 24/32 Bit.
bmp.PixelFormat := pf32Bit; :arrow: array[0..3] of byte bmp.PixelFormat := pf24Bit; :arrow: array[0..2] of byte Mit weniger Bits solltest du nicht rumhantieren, da du sonst die Werte erst "mühsam" in RGB-Werte umrechnen musst. Also schau mal, dass du bei dir
Delphi-Quellcode:
aufrufst
bmp.PixelFormat := pf24Bit;
|
Re: Pixel gleicher Farbe zählen
Wenn ich das ganze mit pf32Bit mache geht das wirklich ein ganzes Stück schneller!
Und wenn ich bei deiner Function, Neutral General, Result zunächst mit 0 initialisiere kommt auch wirklich das richtige Ergebnis raus 8) Vielen Dank euch beiden für eure Hilfe :cheers: 2 Fragen habe ich aber noch: - Wird das ganze mit pf24Bit nochmal schneller? - Wenn ja, wie komme ich dann zu meinem Farbwert, ich hab ja dann nur 2 Werte in dem Array, für RGB brauche ich aber 3 |
Re: Pixel gleicher Farbe zählen
Hi,
1. Die 32-Bit Methode ist die schnellste. 2. [0..2] = 3 Einträge (24 Bit), [0..3] = 4 Einträge (32 Bit) PS: Also bei mir ist das Array schon standardmäßig "genullt"... :gruebel: Aber wenn du es schon nullen willst dann hätte ich da was für dich:
Delphi-Quellcode:
FillChar(Result[0],Length(Result)*SizeOf(Integer),0);
|
Re: Pixel gleicher Farbe zählen
Zitat:
Zitat:
Darum ist bei mir bei den ersten Versuchen wahrscheinlich immer ein falsches Ergebnis rausgekommen -.- Zitat:
Werde jetzt auf jedenfall FillChar verwenden, Danke :stupid: Nochmal Danke an euch beide :dp: :love: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:16 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