Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Загрузка bitmap из .res без потери палитры

01.01.2007
procedure loadgraphic(naam:string);
var
  HResInfo: THandle;
  BMF: TBitmapFileHeader;
  MemHandle: THandle;
  Stream: TMemoryStream;
  ResPtr: PByte;
  ResSize: Longint;
  null:array [0..8] of char;
begin
  strpcopy (null, naam);
  HResInfo := FindResource(HInstance, null, RT_Bitmap);
  ResSize := SizeofResource(HInstance, HResInfo);
  MemHandle := LoadResource(HInstance, HResInfo);
  ResPtr := LockResource(MemHandle);
  Stream := TMemoryStream.Create;
  try
    Stream.SetSize(ResSize + SizeOf(BMF));
    BMF.bfType := $4D42;
    Stream.write(BMF, SizeOf(BMF));
    Stream.write(ResPtr^, ResSize);
    Stream.Seek(0, 0);
    Bitmap:=tbitmap.create;
    Bitmap.LoadFromStream(Stream);
  finally
    Stream.Free;
  end;
  FreeResource(MemHandle);
end;

Взято с https://delphiworld.narod.ru