Показать сообщение отдельно
  #8  
Старый 10.06.2012, 18:51
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию

Средний цвет хорошо и быстро определяется на картинке где-то при 75% одинакового цвета.
Код:
Function GetMaxColorBmp(B: TBitmap): TColor;
Type
 PRGBArray = ^TRGBArray;
 TRGBArray = Array[0..65535] of TRGBTriple;
Var
 Line: PRGBArray;
 i, j, Pix: Integer;
 _r, _g, _b: Extended;
begin
 _r:= 0; _g:= 0; _b:= 0;
 Result:= clWhite;
 B.PixelFormat:= pf24bit;
 For j:= 0 To B.Height - 1 Do
  begin
   Line:= B.ScanLine[j];
   For i:= 0 To B.Width - 1 Do
    begin
     _r:= _r + Line[i].rgbtRed;
     _g:= _g + Line[i].rgbtGreen;
     _b:= _b + Line[i].rgbtBlue;
    end;
  end;
 Pix:= B.Width*B.Height;
 Result:= RGB(Round(_r/Pix), Round(_g/Pix), Round(_b/Pix));
end;
__________________
If end Then begin;
Ответить с цитированием