
21.08.2011, 08:44
|
 |
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;
__________________
Пишу программы за еду.
__________________
|