Показать сообщение отдельно
  #7  
Старый 21.08.2011, 08:44
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от Pcrepair
мне нужно совсем другое
Цитата:
Сообщение от Pcrepair
каким образом определить какому индексу соответсвуют цвета?
думал догадаешься:
Код:
function GetPaletteColor(ABitmap: TBitmap; AIndex: Integer): Integer;
var
  APaletteEntry: array [0..$ff] of PALETTEENTRY;
  ANumberEntries: Integer;
begin
  ANumberEntries:=GetPaletteEntries(ABitmap.Palette,
    0, $100,APaletteEntry);
  if ANumberEntries=0 then raise Exception.Create('GetPaletteEntries');
  if ((AIndex<0) or (AIndex>=ANumberEntries)) then raise Exception.Create('NumberEntries');
  Result:=RGB(APaletteEntry[AIndex].peRed, APaletteEntry[AIndex].peGreen,APaletteEntry[AIndex].peBlue);
end;
использование:
Код:
var
  c: Integer;
  r, g, b: Integer;
begin
  c:=GetPaletteColor(Image1.Picture.Bitmap, 236);
  r:=GetRValue(c);
  g:=GetGValue(c);
  b:=GetBValue(c);
  ShowMessage('r='+IntToStr(r)+' g='+IntToStr(g)+' b='+IntToStr(b));
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием