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;