AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Anzahl der verschieden Farben eines Bitmap's auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Anzahl der verschieden Farben eines Bitmap's auslesen

Ein Thema von ferby · begonnen am 4. Mär 2006 · letzter Beitrag vom 5. Mär 2006
 
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#1

Anzahl der verschieden Farben eines Bitmap's auslesen

  Alt 4. Mär 2006, 14:22
Hallo,

Ich will die Anzahl der verschiedenen verwendeten Farben eines 256-Farben Bitmaps auslesen.
Das heißt wenn ein Bitmap nur aus weiß, gelb und rot besteht soll die funktion z.B: 3 zurückgeben.

Ich habe auch schon eine Funktion geschrieben, aber manchmal gibt sie was falsches zurück,
meistens eine farbe zuviel oder zu wenig...

Delphi-Quellcode:
[..]
farbspeicher: array [1..256] of integer;
BMP: TBitmap;
[..]

function tform1.farbanzahlabfrage:integer;
var
  i,i2: Cardinal;
  farbe_aktuel,i3: TColor;
  neuefarbe: boolean;
begin
  for i:=1 to 256 do farbspeicher[i]:=-1;

  result:=0;

  for i:=0 to BMP.Height-1 do
  for i2:=0 to BMP.Width-1 do
  begin
    neuefarbe:=true;
    farbe_aktuel:=BMP.canvas.pixels[i,i2];
    for i3:=0 to result do
    if farbspeicher[i3+1]=farbe_aktuel then neuefarbe:=false;

    if neuefarbe then
    begin
      farbspeicher[result]:=farbe_aktuel;
      inc(result);
    end;

  end;

end;
kann mir jemand sagen warum diese Funktion nicht immer geht, bzw eine andere Methode um herauszufinden wieviele verschiedene Farben in einen Bitmap sind???

Ferby
  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 16:56 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