Puede que necesites usar varios JPGs en tu aplicación.
En lugar de dejarlos fuera de tu ejecutable, con este truco podrás incluirlos en él.
Primero, nos construiremos un fichero de recursos en donde meteremos los ficheros JPG
Para hacerlo sigue los pasos que aqui te pongo:
Creando nuestro fichero .RC
Abre un editor de texto (Notepad, por ejemplo) y escribe algo así:
1 RCDATA UnJpg.JPG
2 RCDATA OtroJpg.JPG
|
Grábalo con extensión .RC, por ejemplo, Imagenes.RC
Compilando el fichero .RC
Ahora debemos compilarlo, para crear un fichero de recursos (.RES), para lo cual, lo mejor es que pongas en el mismo directorio tanto los JPGss como el fichero .RC que has creado.
Para compilar el fichero, usaremos el compilador que trae el propio Delphi: el BRC32 (Borland resource Compiler), que lo tendrás en el subdirectorio /BIN dentro del directorio donde hayas instalado el Delphi.
Usaremos:
BRC32.EXE -r -v Imagenes.RC
|
Si todo ha ido bien, habremos generado el fichero Imagenes.RES
Incluyendo el fichero .RES en tu aplicacion
Ahora, debes incluir en tu aplicación, el fichero .RES que has creado, para lo cual, basta con que incluyas esta linea en el implementation de tu form:
implementation
{$R *.DFM}
{$R Imagenes.RES}
|
Mostrando esos JPGs
Llegó la hora de mostrar las imágenes:
Los pasos son los siguientes:
Creamos un TJpegImage temporal (recuerda añadir 'JPeg' en el uses de tu form)
Creamos un TResourceStream apuntando al JPG que queremos cargar (en nuestro caso el #1)
Cargamos el JPG en el TJPegImage temporal
Dibujamos el TJPegImage en un TImage de nuestra form
Liberamos las cosas temporales.
El código:
procedure TfSplash.FormCreate(Sender: TObject);
var
Corriente : TResourceStream;
Imagen : TJPegImage;
begin
Imagen:=TJPegImage.Create;
Corriente:=TResourceStream.Create( hInstance,
'#1',
RT_RCDATA );
Corriente.Seek(0,soFromBeginning);
Imagen.LoadFromStream(Corriente);
Image1.Canvas.Draw(0,0,Imagen);
Imagen.Free;
Corriente.Free;
end;
|
|