Einzelnen Beitrag anzeigen

ferby

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

Re: Anzahl der verschieden Farben eines Bitmap's auslesen

  Alt 5. Mär 2006, 13:51
Hallo,

danke für eure Beiträge,
habe wieder einiges gelernt.

@ SirThornberry: Der Fehler lag dort irgendwo... ich habe ein wenig herumgetan und jetzt gehts
@ Muetze1: Der Quellcode war mir ein wenig zu Komplex, außerdem kamm einige Fehlermedlungen wenn ich das Programm starten wollte.


Hier mein neuer Quellcode der eigentlich funktionieren müsste (Habe es mit mehr als 20 total verschiedenen Bitmaps getestet)

Delphi-Quellcode:
function TForm1.farbanzahlabfrage:integer;
var
  x,y,i:integer;
  FarbAnzahl: integer;
  NeueFarbe: boolean;
  Aktuelle_Farbe: integer;
  FarbPalette: array [1..256] of integer;
begin
  FarbAnzahl:=0;

  for i:=1 to 256 do Farbpalette[i]:=-1;

  for x:=0 to BMP.width-1 do
  for y:=0 to BMP.Height-1 do
  begin
    NeueFarbe:=true;
    Aktuelle_Farbe:=BMP.Canvas.pixels[y,x];


    for i:=1 to 256 do
    if Farbpalette[i] = Aktuelle_Farbe then NeueFarbe:=false;

    if NeueFarbe then
    begin
      inc(FarbAnzahl);
      Farbpalette[FarbAnzahl]:=aktuelle_farbe;
    end;
  end;

  result:=farbanzahl;
end;
  Mit Zitat antworten Zitat