Ich würde keine JPGs per bitmap.loadfromfile bzw. bitmap.loadfromstream laden, da es sich hier, wie der name schon vermuten lässt, eigentlich um Bitmaps handelt. Mag sein, dass Delphi so intelligent ist, und anhand der Dateiendung bei loadfromfile erkennt, dass es sich um ein jpg handelt.
Aber ich würde den umweg über ein TJPEGImage gehen, und zunächst das Bild per loadfromstream in das TJPEGImage laden. Anschließend würde ich dann die canvas auf das Bitmap kopieren. Das ist meiner Meinung nach der korrekte weg.
Grüße,
Michael
[edit]
Quasi so:
Delphi-Quellcode:
function JPEGtoBMP(FS:TFilestream):tbitmap;
var jpeg:tJPEGImage;
begin
Jpeg:= TJPEGImage.Create;
try
jpeg.LoadFromStream(FS);
result:= TBitmap.Create;
result.Assign(jpeg);
finally
jpeg.Free
end;
end;