source: subversion/applications/utils/color255/color255.c @ 29338

Last change on this file since 29338 was 3007, checked in by jonb, 12 years ago

color255: A faster way to convert tiles to an 8 bit indexed palette

File size: 1.5 KB
Line 
1#include <stdio.h>
2#include <stdlib.h>
3#include <wand/magick-wand.h>
4
5int main(int argc,char **argv)
6{
7#define ThrowWandException(wand) \
8{ \
9  char \
10    *description; \
11 \
12  ExceptionType \
13    severity; \
14 \
15  description=MagickGetException(wand,&severity); \
16  (void) fprintf(stderr,"%s %s %ld %s\n",GetMagickModule(),description); \
17  description=(char *) MagickRelinquishMemory(description); \
18  exit(-1); \
19}
20
21  MagickBooleanType status;
22  MagickWand  *magick_wand;
23  int i;
24
25  if (argc == 1) {
26        fprintf(stderr, "Usage error:\n\t%s <image1.png> [image2.png] ...\n", argv[0]);
27        exit(1);
28  }
29
30  MagickWandGenesis();
31  magick_wand=NewMagickWand(); 
32
33  for (i=1; i<argc; i++) {
34        const char *name = argv[i];
35        status=MagickReadImage(magick_wand, name);
36        if (status == MagickFalse)
37                ThrowWandException(magick_wand);
38        //printf("Converting: %s\n", name);
39       
40        MagickResetIterator(magick_wand);
41
42#if 0
43  MagickBooleanType MagickQuantizeImage(MagickWand *wand,
44    const unsigned long number_colors,const ColorspaceType colorspace,
45    const unsigned long treedepth,const MagickBooleanType dither,
46    const MagickBooleanType measure_error)
47#endif
48
49        status=MagickQuantizeImage(magick_wand, 255, RGBColorspace, 0, 0, 0);
50        if (status == MagickFalse)
51                ThrowWandException(magick_wand);
52
53        status=MagickWriteImages(magick_wand, name, MagickTrue);
54        if (status == MagickFalse)
55                ThrowWandException(magick_wand);
56       
57        ClearMagickWand(magick_wand);
58  }
59
60  magick_wand=DestroyMagickWand(magick_wand);
61
62  MagickWandTerminus();
63  return(0);
64}
Note: See TracBrowser for help on using the repository browser.