source: trunk/IMAGE/animgif.pro @ 2

Last change on this file since 2 was 2, checked in by opalod, 22 years ago

Initial revision

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 3.8 KB
Line 
1;------------------------------------------------------------
2;------------------------------------------------------------
3;------------------------------------------------------------
4;+
5; NAME:animgif
6;
7; PURPOSE:construire une animation gif
8;
9; CATEGORY:pour faire des dessins animes
10;
11; CALLING SEQUENCE:animgif, 'toto.gif'
12;
13; INPUTS:toto.gif: c''est le nom du fichier gif contenant
14; l''animation. Rq ce fichier est place dans le repertoire definit par
15; iodir.
16;
17; KEYWORD PARAMETERS:
18;
19; OUTPUTS:
20;
21; COMMON BLOCKS:
22;       common.pro
23;
24; SIDE EFFECTS:on utilise le Z buffer pour aller plus vite!.
25;              donc si on plante ds animgif il faut faire:
26;              IDL> device, /close
27;              IDL> set_plot, 'x'
28;              IDL> retall
29;
30; RESTRICTIONS: si on veut supprimer le @common,
31;               il faut definir a la main la taille de l''image (les
32;               variables xsize et ysize) ainsi que iodir.
33;
34; EXAMPLE:
35;
36; MODIFICATION HISTORY: Guillaume Roullet (grlod@ipsl.jussieu.fr)
37;                       Sebastien Masson (smasson@lodyc.jussieu.fr)
38;                       30/4/1999
39;-
40;------------------------------------------------------------
41;------------------------------------------------------------
42;------------------------------------------------------------
43PRO animgif, nomfic
44@common
45;
46;  recupere la palette de couleur et la place dans rouge, vert, bleu
47;
48   tvlct,  rouge,vert,bleu,/get
49;
50;  complete la palette courante sur 256 couleurs
51;
52   red = [rouge, replicate(255, 256-n_elements(rouge))]
53   green = [vert, replicate(255, 256-n_elements(rouge))]
54   blue = [bleu, replicate(255, 256-n_elements(rouge))]
55;
56; bascule sur le z device, permettant de creer l''image sans
57; l''afficher
58   thisOS = !VERSION.OS_FAMILY
59   thisOS = STRMID(thisOS, 0, 3)
60   thisOS = STRUPCASE(thisOS)
61   set_plot, 'z'
62; taille de l''image (en nombre de pixel:
63   xsize = 30*(petitfeuille*key_portrait+grandfeuille*(1-key_portrait))
64   ysize = 30*(petitfeuille*(1-key_portrait)+grandfeuille*key_portrait)
65   device, set_resolution = [xsize, ysize]
66;
67; commencement du fichier gif. ecriture d''une image vide
68;
69   reinitplt
70   plot, [0], [0], /nodata
71   write_gif,iodir+nomfic,tvrd(),red, green, blue, /multiple
72;
73;
74;----------------------------------------------------------------
75; debut de la partie a changer
76;----------------------------------------------------------------
77;
78; boucle de creation de l''image
79;
80   calen = calendriertotem()
81   debut = where(calen EQ 19810105)
82   debut = where(calen EQ 19790105)
83   debut = debut[0]
84   if debut EQ -1 then begin
85      device, /close
86      CASE thisOS of
87         'MAC': SET_PLOT, thisOS
88         'WIN': SET_PLOT, thisOS
89         ELSE: SET_PLOT, 'X'
90      ENDCASE
91      stop
92   endif
93
94   for i = 0, 73*15-1 do begin
95;   for i = 0, 3*2-1 do begin
96;   for i = 0, 73*2-1 do begin
97      if keyword_set(bavard) then print, 'Image numero : '+strtrim(i, 2)
98      date = calen[debut+i]
99      erase, 255
100      plt, nlec('sst', date, 'ATF'), 19, 29, int = .5, /noerase
101;      plt, nlec('sss', date, 'ATF'), label = 2, /noerase
102;      plt, nlec('htoth', date, 'RE3')-nlec('hpycn', date, 'RE3'), 10, 60, int = 5, /inv, /noerase
103;      domdef, 290,340,-5,15
104;      plt, norme(nlec('unsurf', date, 'RE3'), nlec('vnsurf', date, 'RE3')), 0, 1.2, int = .1, /noerase
105;
106;     Ecriture de l''image dans le fichier .gif
107;
108      write_gif,iodir+nomfic,tvrd(),red, green, blue, /multiple
109   ENDFOR
110;----------------------------------------------------------------
111; fin de la partie a changer
112;----------------------------------------------------------------
113;
114; fermeture du fichier
115   write_gif,iodir+nomfic,/close
116; rebascule en mode terminal X
117   device, /close
118   CASE thisOS of
119      'MAC': SET_PLOT, thisOS
120      'WIN': SET_PLOT, thisOS
121      ELSE: SET_PLOT, 'X'
122   ENDCASE
123
124
125   return
126end
Note: See TracBrowser for help on using the repository browser.