blob: 1cc20575438ebaaa2f7b273f532da474772d1d92 [file] [log] [blame]
cristy3ed852e2009-09-05 21:47:34 +00001/*
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 %
cristyde984cd2013-12-01 14:49:27 +000016% Cristy %
cristy3ed852e2009-09-05 21:47:34 +000017% July 1992 %
18% %
19% %
cristyb56bb242014-11-25 17:12:48 +000020% Copyright 1999-2015 ImageMagick Studio LLC, a non-profit organization %
cristy3ed852e2009-09-05 21:47:34 +000021% 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
cristyee678102011-07-01 23:32:11 +000053#include "MagickWand/studio.h"
54#include "MagickWand/MagickWand.h"
cristy3ed852e2009-09-05 21:47:34 +000055
56/*
57%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58% %
59% %
60% %
cristy3980b0d2009-10-25 14:37:13 +000061% M a i n %
cristy3ed852e2009-09-05 21:47:34 +000062% %
63% %
64% %
65%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
66%
67%
68*/
69
cristy9c88feb2011-09-21 13:06:09 +000070static int AnimateMain(int argc,char **argv)
cristy3ed852e2009-09-05 21:47:34 +000071{
cristy3ed852e2009-09-05 21:47:34 +000072 ExceptionInfo
73 *exception;
74
75 ImageInfo
76 *image_info;
77
78 MagickBooleanType
cristy3ed852e2009-09-05 21:47:34 +000079 status;
80
cristy3ed852e2009-09-05 21:47:34 +000081 MagickCoreGenesis(*argv,MagickTrue);
82 exception=AcquireExceptionInfo();
cristy3980b0d2009-10-25 14:37:13 +000083 image_info=AcquireImageInfo();
cristy3980b0d2009-10-25 14:37:13 +000084 status=MagickCommandGenesis(image_info,AnimateImageCommand,argc,argv,
cristy4e1dff62009-10-25 20:36:03 +000085 (char **) NULL,exception);
cristy3980b0d2009-10-25 14:37:13 +000086 image_info=DestroyImageInfo(image_info);
cristy3ed852e2009-09-05 21:47:34 +000087 exception=DestroyExceptionInfo(exception);
88 MagickCoreTerminus();
cristy35892192014-05-26 12:04:36 +000089 return(status != MagickFalse ? 0 : 1);
cristy3ed852e2009-09-05 21:47:34 +000090}
cristy66f9c3c2011-08-13 17:12:28 +000091
cristy07a3cca2012-12-10 13:09:10 +000092#if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__)
cristy66f9c3c2011-08-13 17:12:28 +000093int main(int argc,char **argv)
94{
95 return(AnimateMain(argc,argv));
96}
97#else
98int 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);
dirk3c746fb2014-06-05 18:21:08 +0000114 return(status);
cristy66f9c3c2011-08-13 17:12:28 +0000115}
116#endif