Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Anzahl der verschieden Farben eines Bitmap's auslesen (https://www.delphipraxis.net/64509-anzahl-der-verschieden-farben-eines-bitmaps-auslesen.html)

Muetze1 4. Mär 2006 21:48

Re: Anzahl der verschieden Farben eines Bitmap's auslesen
 
Zitat:

Zitat von markusj
Ok, ich ergebe mich ... Asche über mein Haupt *g*
Und das mit der Farbgewichtung wusst ich nicht ... bitte vergib mir ^^

Ach ja, wegen meiner Rechtschreibung ... tut mir Leid.

mfG

Markus

Nicht so eng sehen - manchmal sind die englishen Texte auch schlecht geschrieben.

ferby 5. Mär 2006 12:51

Re: Anzahl der verschieden Farben eines Bitmap's auslesen
 
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;

Muetze1 5. Mär 2006 15:21

Re: Anzahl der verschieden Farben eines Bitmap's auslesen
 
Zitat:

Zitat von ferby
@ Muetze1: Der Quellcode war mir ein wenig zu Komplex, außerdem kamm einige Fehlermedlungen wenn ich das Programm starten wollte.

Ja, es verwendet Komponenten von mir - aber das war ja noch nichtmal das was ich wollte. Es hätte gereicht dir die Unit hlp_ColorHistory.pas anzuschauen - diese macht genau das gesucht. Es kapselt alles in einem Objekt und braucht nur eine TBitmap Instanz.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:12 Uhr.
Seite 2 von 2     12   

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