Hallo,
willst du wirklich alle Pixel in die ListBox packen ?
Du weisst schon, dass der Speicher einer ListBox begrenzt ist.
Ich würde das etwas anders machen
(deine ListBox kannst du ja drinlassen
)
Delphi-Quellcode:
type
TColorItem = class
Color: TColor;
Number: Integer;
end;
type
TColorItemList = class(TObjectList)
private
// mit for-Schleife nach der Farbe suchen
// NIL, wenn nicht gefunden
function FindColorItem(theColor): TColorItem;
public
procedure AddToColor(theColor: TColor);
end;
procedure TColorItemList.AddToColor(theColor: TColor);
var
ColorItem: TColorItem;
begin
ColorItem:= FindColorItem(theColor);
if ColorItem=NIL then
begin
ColorItem:= TColorItem.Create;
Add(ColorItem);
end;
ColorItem.Number:= ColorItem.Number+1;
end;
Heiko