Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Liado con TStream, TmemoryStream y TFileStream (https://www.clubdelphi.com/foros/showthread.php?t=81630)

madiazg 01-12-2012 14:18:51

Liado con TStream, TmemoryStream y TFileStream
 
Hola,
llevo un buen rato liado intentado cargar dos imágenes jpg y guardarlas en un solo fichero. Puedo cargarlas usando TMemoryStream ó TFileStream:

Código:


  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:

Código:

  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...f/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".

Código Delphi [-]
  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.


La franja horaria es GMT +2. Ahora son las 02:26:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi