Используйте Delphi's TResourceStream. Его конструктор найдет и загрузит ресурс в память, а метод SaveToFile сделает запись на диск.
Что-то похожее на это должно работать:
var
ResStream: TResourceStream;
begin
ResStream := TResourceStream.Create(HInstance, 'YOURRESOURCENAME', RT_RCDATA);
try
ResStream.Position := 0;
ResStream.SaveToFile('C:\YourDir\YourFileName.jpg');
finally
ResStream.Free;
end;
end;
Если вы можете использовать идентификатор ресурса вместо имени, это немного меньше памяти. В этом случае вы должны заменить Create на CreateFromID и указать числовой идентификатор, а не имя строки.