Есть вот такая функция:
function RGBColor(ColorNum: Byte): Byte;
begin
RGBColor := (((Header.Palette[ColorNum].Red div 85) and 1) shl 5) +
(((Header.Palette[ColorNum].Red div 85) and 2) shl 1) +
(((Header.Palette[ColorNum].Green div 85) and 1) shl 4) +
(((Header.Palette[ColorNum].Green div 85) and 2) shl 0) +
(((Header.Palette[ColorNum].Blue div 85) and 1) shl 3) +
(((Header.Palette[ColorNum].Blue div 85) and 2) shr 1);
end;
Используется в программе открытия изображений PCX. Используется вот где:
begin
Regs.AX := $0010;
Intr($10, Regs);
for i := 0 to 15 do
begin
Regs.AH := $10;
Regs.AL := 0;
Regs.BL := i;
Regs.BH := RGBColor(i);
Intr($10, Regs);
end; Я не понимаю зачем она здесь нужна и что вообще делает. Помогите, пожалуйста разобраться, если сможете. Буду очень благодарна.