merci guillemouze, dsl de pas répondre avant, j'avais fini par trouver mais j avoue que ta méthode est plus simple
voici une autre solution
ImageStream := TMemoryStream.Create();
ImageStream1 := TMemoryStream.Create();
ImageStream2 := TMemoryStream.Create();
JpegImage.Assign(BMP);
JpegImage.SaveToStream(ImageStream1);
PNGstreaming.Assign(BMP);
PNGstreaming.SaveToStream(ImageStream2);
imagestream.CopyFrom(ImageStream1,0);
imagestream.CopyFrom(ImageStream2,0);