[comp.lang.pascal] Pictures in exe file

binni@ed.ecn.purdue.edu (Brynjolfur Thorsson) (04/07/91)

Hi.

Is there a way to save pictures and incorporate them into a program's exe file.
My problem is that when I start up my program, I draw several complicated
pictures, and it is slowwwww.  I know that I could save each of them to a file,
and read the corresponding file instead of drawing the picture.  This approach
has the drawback that instead of having a single exe file, I would have several
pictures files also.

I vaguely recall some discussion about this on the net a while ago, but then
I didn't have this problem.

Any help is appreciated.

Brynjolfur

binni@ecn.purdue.edu

ts@uwasa.fi (Timo Salmi) (04/08/91)

In article <1991Apr7.145358.25926@noose.ecn.purdue.edu> binni@ed.ecn.purdue.edu (Brynjolfur Thorsson) writes:
:
>Is there a way to save pictures and incorporate them into a program's exe file.
:
>I vaguely recall some discussion about this on the net a while ago, but then
>I didn't have this problem.
:

A reference to incorporating data into .exe is given in the
inevitable /pc/ts/tsfaq19.arc.  I cannot guarantee whether it is
sufficient, since it is just a pointer.  I haven't tried it out. 

...................................................................
Prof. Timo Salmi        
Moderating at garbo.uwasa.fi anonymous ftp archives 128.214.12.37
School of Business Studies, University of Vaasa, SF-65101, Finland
Internet: ts@chyde.uwasa.fi Funet: gado::salmi Bitnet: salmi@finfun

paulg@bhpmrl.oz.au (Paul Gallagher) (04/17/91)

Nothing like having an impressive sign-on screen flash up on the
screen almost immediatley is there?

(NB: I'm using Turbo Pascal) One way to achieve this is to use
BINOBJ, BGIOBJ or similar to convert an image file into a *.OBJ,
then link it into your program:

     procedure pic1; external;
     {$L pic1.obj}

*** code was done from memory - hope its correct
Just make sure the public name matches the declaration.
You can then address the picture data as an offset to @pic1.

The only worry you may have is that when dealing with EGA/VGA
screens your EXE will grow tremendously - resolution dependant of course.
If you're just talking text screens though, at 4k a pop you can afford to
link in enough to keep the entire application flying along.

btw, if you're using graphic screens, the other decision you need to make
is whether to link a compressed (PCX,GIF etc) or uncompressed image.
The trade-off is basically EXE size v. speed - as usual.

Regards,
Paul Gallagher

     /\/\       Paul Gallagher, PC Support Officer,
    / / /\      Computer Systems Group,
   / / /  \     BHP Melbourne Research Laboratories
  / / / /\ \    245 Wellington Rd Mulgrave Vic 3170 AUSTRALIA
  \ \/ / / /    Phone : +61-3-560-7066,  Fax : +61-3-561-6709
   \  / / /     ACSnet  :  paulg@bhpmrl.OZ.AU        
    \/\/\/