PDA

Ver la Versión Completa : Liado con TStream, TmemoryStream y TFileStream


madiazg
01-12-2012, 14:18:51
Hola,
llevo un buen rato liado intentado cargar dos imágenes jpg y guardarlas en un solo fichero. Puedo cargarlas usando TMemoryStream ó TFileStream:


L := TMemoryStream.Create;
L.LoadFromFile('DSC_0017.jpg');
R := TMemoryStream.Create;
R.LoadFromFile('DSC_0018.jpg');


Lo que quiero es añadir al final de L el stream R y eso es lo que me trae de cabeza.

Finalmente, volvería a guardar el fichero:


L.SaveTofile('DSC.mpo');


La intención final es que, a partir de un par de ficheros JPG crear un fichero de formato MPO (http://www.cipa.jp/english/hyoujunka/kikaku/pdf/DC-007_E.pdf), por lo que tengo que añadir alguna que otra cabecera al fichero resultante.

Saludos...
Miguel Angel

Ñuño Martínez
01-12-2012, 14:55:11
No he leído el documento por lo que no sé qué cabeceras añadir, pero la forma de concatenar un TStream en otro es usando el método "CopyFrom".


L := TMemoryStream.Create;
L.LoadFromFile('DSC_0017.jpg');
R := TMemoryStream.Create;
R.LoadFromFile('DSC_0018.jpg');
R.Position := 0; { Ir al inicio del archivo }
L.CopyFrom (R, R.Size);


Ahora en L tienes los dos archivos, uno detrás de otro. Eso sí, son dos archivos JPEG.