AGB  ·  Datenschutz  ·  Impressum  







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

Pixel gleicher Farbe zählen

Ein Thema von dominikkv · begonnen am 22. Jun 2008 · letzter Beitrag vom 22. Jun 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#11

Re: Pixel gleicher Farbe zählen

  Alt 22. Jun 2008, 20:16
Das wird es wahrscheinlich sein @dominikkv, dein Bitmap hat keine 24/32 Bit.

bmp.PixelFormat := pf32Bit; array[0..3] of byte
bmp.PixelFormat := pf24Bit; 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
bmp.PixelFormat := pf24Bit; aufrufst
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#12

Re: Pixel gleicher Farbe zählen

  Alt 22. Jun 2008, 20:35
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

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
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

Re: Pixel gleicher Farbe zählen

  Alt 22. Jun 2008, 20:37
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"...

Aber wenn du es schon nullen willst dann hätte ich da was für dich:

FillChar(Result[0],Length(Result)*SizeOf(Integer),0);
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#14

Re: Pixel gleicher Farbe zählen

  Alt 22. Jun 2008, 20:55
Zitat von Neutral General:
1. Die 32-Bit Methode ist die schnellste.
Ok, dann werde ich die verwenden.
Zitat von Neutral General:
2. [0..2] = 3 Einträge (24 Bit), [0..3] = 4 Einträge (32 Bit)
oh... das fängt bei 0 an... hab ich nicht gesehen
Darum ist bei mir bei den ersten Versuchen wahrscheinlich immer ein falsches Ergebnis rausgekommen -.-
Zitat von Neutral General:
PS: Also bei mir ist das Array schon standardmäßig "genullt"...

Aber wenn du es schon nullen willst dann hätte ich da was für dich:

FillChar(Result[0],Length(Result)*SizeOf(Integer),0);
Bei mir kam da immer ein anderes Ergebnis raus, nachdem ich das dann initialisiert habe wurds richtig...egal^^
Werde jetzt auf jedenfall FillChar verwenden, Danke

Nochmal Danke an euch beide

Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 20:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz