что нибудь такое (неоптимизированно, скорее всего есть варианты вроде того, что вы привели в качестве примера для вычисления числа цветов изображения    )
 
	Код: 
	var
  i, j: Cardinal;
  Colors: array [$FF000000..$FFFFFFFF] of integer;
begin
  for i:=1 to Image.Picture.Width do
  for j:=1 to Image.Picture.Height do
  Inc(Colors[Image.Canvas.Pixels[i, j]]);
  for i:=$FF000000 to $FFFFFFFF do
  if Colors[Image.Canvas.Pixels[i, j]] > 0 then
  Memo1.Lines.Add(IntToStr(i) + ' ' + IntToStr(Colors[i]) + ' раз');  
  
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 |