For loading, avoid using TPicture, TImage or TBitmap. As KpjComp suggests, load it directly like that :
srcBitmap := TBGRABitmap.Create('test.bmp');
Or by using LoadFromFile of TBGRABitmap.
For saving as a JPEG, I would recommended to create a TFPWriterJPEG object (found in FPWriteJPEG) and to use SaveToFile(filename, writer), for example like that :
rotBitmap.SaveToFile('test.jpg', JpgWriter);
So for example you can do it like that :
var
bmp:TBGRABitmap;
jpgWriter:TFPWriterJPEG; //in unit FPWriteJpeg
begin
bmp := TBGRABitmap.Create('test.bmp');
BGRAReplace(bmp, bmp.RotateCW);
jpgWriter := TFPWriterJPEG.Create;
//jpgWriter.CompressionQuality := ...
bmp.SaveToFile('test.jpg', jpgWriter);
jpgWriter.Free;
bmp.Free;
end;