]> granicus.if.org Git - imagemagick/blob - utilities/animate.c
(no commit message)
[imagemagick] / utilities / animate.c
1 /*
2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3 %                                                                             %
4 %                                                                             %
5 %                                                                             %
6 %                AAA   N   N  IIIII  M   M   AAA   TTTTT  EEEEE               %
7 %               A   A  NN  N    I    MM MM  A   A    T    E                   %
8 %               AAAAA  N N N    I    M M M  AAAAA    T    EEE                 %
9 %               A   A  N  NN    I    M   M  A   A    T    E                   %
10 %               A   A  N   N  IIIII  M   M  A   A    T    EEEEE               %
11 %                                                                             %
12 %                                                                             %
13 %                   Interactively Animate an Image Sequence.                  %
14 %                                                                             %
15 %                             Software Design                                 %
16 %                               John Cristy                                   %
17 %                                July 1992                                    %
18 %                                                                             %
19 %                                                                             %
20 %  Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization      %
21 %  dedicated to making software imaging solutions freely available.           %
22 %                                                                             %
23 %  You may not use this file except in compliance with the License.  You may  %
24 %  obtain a copy of the License at                                            %
25 %                                                                             %
26 %    http://www.imagemagick.org/script/license.php                            %
27 %                                                                             %
28 %  Unless required by applicable law or agreed to in writing, software        %
29 %  distributed under the License is distributed on an "AS IS" BASIS,          %
30 %  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   %
31 %  See the License for the specific language governing permissions and        %
32 %  limitations under the License.                                             %
33 %                                                                             %
34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
35 %
36 %  Animate displays a sequence of images in the MIFF format on any
37 %  workstation display running an X server.  Animate first determines the
38 %  hardware capabilities of the workstation.  If the number of unique
39 %  colors in an image is less than or equal to the number the workstation
40 %  can support, the image is displayed in an X window.  Otherwise the
41 %  number of colors in the image is first reduced to match the color
42 %  resolution of the workstation before it is displayed.
43 %
44 %  This means that a continuous-tone 24 bits-per-pixel image can display on a
45 %  8 bit pseudo-color device or monochrome device.  In most instances the
46 %  reduced color image closely resembles the original.  Alternatively, a
47 %  monochrome or pseudo-color image can display on a continuous-tone 24
48 %  bits-per-pixel device.
49 %
50 %
51 */
52 \f
53 #include "MagickWand/studio.h"
54 #include "MagickWand/MagickWand.h"
55 \f
56 /*
57 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58 %                                                                             %
59 %                                                                             %
60 %                                                                             %
61 %  M a i n                                                                    %
62 %                                                                             %
63 %                                                                             %
64 %                                                                             %
65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
66 %
67 %
68 */
69
70 static int AnimateMain(int argc,char **argv)
71 {
72   ExceptionInfo
73     *exception;
74
75   ImageInfo
76     *image_info;
77
78   MagickBooleanType
79     status;
80
81   MagickCoreGenesis(*argv,MagickTrue);
82   exception=AcquireExceptionInfo();
83   image_info=AcquireImageInfo();
84   status=MagickCommandGenesis(image_info,AnimateImageCommand,argc,argv,
85     (char **) NULL,exception);
86   image_info=DestroyImageInfo(image_info);
87   exception=DestroyExceptionInfo(exception);
88   MagickCoreTerminus();
89   return(status);
90 }
91
92 #if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__)
93 int main(int argc,char **argv)
94 {
95   return(AnimateMain(argc,argv));
96 }
97 #else
98 int wmain(int argc,wchar_t *argv[])
99 {
100   char
101     **utf8;
102
103   int
104     status;
105
106   register int
107     i;
108
109   utf8=NTArgvToUTF8(argc,argv);
110   status=AnimateMain(argc,utf8);
111   for (i=0; i < argc; i++)
112     utf8[i]=DestroyString(utf8[i]);
113   utf8=(char **) RelinquishMagickMemory(utf8);
114   return(status);
115 }
116 #endif