color.c File Reference

#include "magick/studio.h"
#include "magick/blob.h"
#include "magick/cache-view.h"
#include "magick/color.h"
#include "magick/color-private.h"
#include "magick/client.h"
#include "magick/configure.h"
#include "magick/exception.h"
#include "magick/exception-private.h"
#include "magick/gem.h"
#include "magick/geometry.h"
#include "magick/image-private.h"
#include "magick/memory_.h"
#include "magick/monitor.h"
#include "magick/option.h"
#include "magick/pixel-private.h"
#include "magick/quantize.h"
#include "magick/quantum.h"
#include "magick/semaphore.h"
#include "magick/string_.h"
#include "magick/token.h"
#include "magick/utility.h"
#include "magick/xml-tree.h"

Data Structures

struct  _NodeInfo
struct  _Nodes
struct  _CubeInfo

Defines

#define ColorFilename   "colors.xml"
#define MaxTreeDepth   8
#define NodesInAList   1536
#define EvaluateImageColorsText   " Compute image colors... "
#define SVGCompliant(component)
#define HistogramImageTag   "Histogram/Image"
#define MaximumUniqueColors   1024
#define SearchImageText   " Searching image... "
#define UniqueColorsImageTag   "UniqueColors/Image"

Typedefs

typedef struct _NodeInfo NodeInfo
typedef struct _Nodes Nodes
typedef struct _CubeInfo CubeInfo

Functions

static CubeInfo * GetCubeInfo (void)
static NodeInfo * GetNodeInfo (CubeInfo *, const unsigned long)
static MagickBooleanType InitializeColorList (ExceptionInfo *)
static MagickBooleanType LoadColorLists (const char *, ExceptionInfo *)
static void DestroyColorCube (const Image *, NodeInfo *)
static unsigned long ColorToNodeId (const Image *image, const MagickPixelPacket *pixel, unsigned long index)
static CubeInfo * ClassifyImageColors (const Image *image, ExceptionInfo *exception)
MagickExport void ConcatenateColorComponent (const MagickPixelPacket *pixel, const ChannelType channel, const ComplianceType compliance, char *tuple)
static void DefineImageHistogram (const Image *image, NodeInfo *node_info, ColorPacket **histogram)
static void * DestroyColorElement (void *color_info)
MagickExport void DestroyColorList (void)
static CubeInfo * DestroyCubeInfo (const Image *image, CubeInfo *cube_info)
MagickExport const ColorInfo * GetColorInfo (const char *name, ExceptionInfo *exception)
static int ColorInfoCompare (const void *x, const void *y)
MagickExport const ColorInfo ** GetColorInfoList (const char *pattern, unsigned long *number_colors, ExceptionInfo *exception)
static int ColorCompare (const void *x, const void *y)
MagickExport char ** GetColorList (const char *pattern, unsigned long *number_colors, ExceptionInfo *exception)
static void ConcatentateHexColorComponent (const MagickPixelPacket *pixel, const ChannelType channel, char *tuple)
MagickExport void GetColorTuple (const MagickPixelPacket *pixel, const MagickBooleanType hex, char *tuple)
MagickExport ColorPacket * GetImageHistogram (const Image *image, unsigned long *number_colors, ExceptionInfo *exception)
static int HistogramCompare (const void *x, const void *y)
MagickExport unsigned long GetNumberColors (const Image *image, FILE *file, ExceptionInfo *exception)
static double MagickMax (const double x, const double y)
MagickExport MagickBooleanType IsColorSimilar (const Image *image, const PixelPacket *p, const PixelPacket *q)
MagickExport MagickBooleanType IsGrayImage (const Image *image, ExceptionInfo *exception)
MagickExport MagickBooleanType IsHistogramImage (const Image *image, ExceptionInfo *exception)
MagickExport MagickBooleanType IsImageSimilar (const Image *image, const Image *target_image, long *x_offset, long *y_offset, ExceptionInfo *exception)
MagickExport MagickBooleanType IsMagickColorSimilar (const MagickPixelPacket *p, const MagickPixelPacket *q)
MagickExport MagickBooleanType IsMonochromeImage (const Image *image, ExceptionInfo *exception)
MagickExport MagickBooleanType IsOpacitySimilar (const Image *image, const PixelPacket *p, const PixelPacket *q)
MagickExport MagickBooleanType IsOpaqueImage (const Image *image, ExceptionInfo *exception)
MagickExport MagickBooleanType IsPaletteImage (const Image *image, ExceptionInfo *exception)
MagickExport MagickBooleanType ListColorInfo (FILE *file, ExceptionInfo *exception)
static MagickBooleanType LoadColorList (const char *xml, const char *filename, const unsigned long depth, ExceptionInfo *exception)
static double MagickMin (const double x, const double y)
MagickExport MagickBooleanType QueryColorDatabase (const char *name, PixelPacket *color, ExceptionInfo *exception)
MagickExport MagickBooleanType QueryColorname (const Image *image, const PixelPacket *color, const ComplianceType compliance, char *name, ExceptionInfo *exception)
MagickExport MagickBooleanType QueryMagickColor (const char *name, MagickPixelPacket *color, ExceptionInfo *exception)
MagickExport MagickBooleanType QueryMagickColorname (const Image *image, const MagickPixelPacket *color, const ComplianceType compliance, const MagickBooleanType hex, char *name, ExceptionInfo *exception)
static void UniqueColorsToImage (Image *image, CubeInfo *cube_info, const NodeInfo *node_info, ExceptionInfo *exception)
MagickExport Image * UniqueImageColors (const Image *image, ExceptionInfo *exception)

Variables

static const char * ColorMap
static LinkedListInfo * color_list = (LinkedListInfo *) NULL
static SemaphoreInfo * color_semaphore = (SemaphoreInfo *) NULL
static volatile MagickBooleanType instantiate_color = MagickFalse


Define Documentation

#define ColorFilename   "colors.xml"

#define EvaluateImageColorsText   " Compute image colors... "

#define HistogramImageTag   "Histogram/Image"

#define MaximumUniqueColors   1024

#define MaxTreeDepth   8

#define NodesInAList   1536

#define SearchImageText   " Searching image... "

#define SVGCompliant ( component   ) 

Value:

((MagickRealType) \
   ScaleCharToQuantum(ScaleQuantumToChar(RoundToQuantum(component))));

#define UniqueColorsImageTag   "UniqueColors/Image"


Typedef Documentation

typedef struct _CubeInfo CubeInfo

typedef struct _NodeInfo NodeInfo

typedef struct _Nodes Nodes


Function Documentation

static CubeInfo* ClassifyImageColors ( const Image *  image,
ExceptionInfo *  exception 
) [static]

static int ColorCompare ( const void *  x,
const void *  y 
) [static]

static int ColorInfoCompare ( const void *  x,
const void *  y 
) [static]

static unsigned long ColorToNodeId ( const Image *  image,
const MagickPixelPacket *  pixel,
unsigned long  index 
) [inline, static]

MagickExport void ConcatenateColorComponent ( const MagickPixelPacket *  pixel,
const ChannelType  channel,
const ComplianceType  compliance,
char *  tuple 
)

static void ConcatentateHexColorComponent ( const MagickPixelPacket *  pixel,
const ChannelType  channel,
char *  tuple 
) [static]

static void DefineImageHistogram ( const Image *  image,
NodeInfo *  node_info,
ColorPacket **  histogram 
) [static]

static void DestroyColorCube ( const Image *  image,
NodeInfo *  node_info 
) [static]

static void* DestroyColorElement ( void *  color_info  )  [static]

MagickExport void DestroyColorList ( void   ) 

static CubeInfo* DestroyCubeInfo ( const Image *  image,
CubeInfo *  cube_info 
) [static]

MagickExport const ColorInfo* GetColorInfo ( const char *  name,
ExceptionInfo *  exception 
)

MagickExport const ColorInfo** GetColorInfoList ( const char *  pattern,
unsigned long *  number_colors,
ExceptionInfo *  exception 
)

MagickExport char** GetColorList ( const char *  pattern,
unsigned long *  number_colors,
ExceptionInfo *  exception 
)

MagickExport void GetColorTuple ( const MagickPixelPacket *  pixel,
const MagickBooleanType  hex,
char *  tuple 
)

static CubeInfo * GetCubeInfo ( void   )  [static]

MagickExport ColorPacket* GetImageHistogram ( const Image *  image,
unsigned long *  number_colors,
ExceptionInfo *  exception 
)

static NodeInfo * GetNodeInfo ( CubeInfo *  cube_info,
const unsigned long  level 
) [static]

MagickExport unsigned long GetNumberColors ( const Image *  image,
FILE *  file,
ExceptionInfo *  exception 
)

static int HistogramCompare ( const void *  x,
const void *  y 
) [static]

static MagickBooleanType InitializeColorList ( ExceptionInfo *  exception  )  [static]

MagickExport MagickBooleanType IsColorSimilar ( const Image *  image,
const PixelPacket *  p,
const PixelPacket *  q 
)

MagickExport MagickBooleanType IsGrayImage ( const Image *  image,
ExceptionInfo *  exception 
)

MagickExport MagickBooleanType IsHistogramImage ( const Image *  image,
ExceptionInfo *  exception 
)

MagickExport MagickBooleanType IsImageSimilar ( const Image *  image,
const Image *  target_image,
long *  x_offset,
long *  y_offset,
ExceptionInfo *  exception 
)

MagickExport MagickBooleanType IsMagickColorSimilar ( const MagickPixelPacket *  p,
const MagickPixelPacket *  q 
)

MagickExport MagickBooleanType IsMonochromeImage ( const Image *  image,
ExceptionInfo *  exception 
)

MagickExport MagickBooleanType IsOpacitySimilar ( const Image *  image,
const PixelPacket *  p,
const PixelPacket *  q 
)

MagickExport MagickBooleanType IsOpaqueImage ( const Image *  image,
ExceptionInfo *  exception 
)

MagickExport MagickBooleanType IsPaletteImage ( const Image *  image,
ExceptionInfo *  exception 
)

MagickExport MagickBooleanType ListColorInfo ( FILE *  file,
ExceptionInfo *  exception 
)

static MagickBooleanType LoadColorList ( const char *  xml,
const char *  filename,
const unsigned long  depth,
ExceptionInfo *  exception 
) [static]

static MagickBooleanType LoadColorLists ( const char *  filename,
ExceptionInfo *  exception 
)

static double MagickMax ( const double  x,
const double  y 
) [inline, static]

static double MagickMin ( const double  x,
const double  y 
) [inline, static]

MagickExport MagickBooleanType QueryColorDatabase ( const char *  name,
PixelPacket *  color,
ExceptionInfo *  exception 
)

MagickExport MagickBooleanType QueryColorname ( const Image *  image,
const PixelPacket *  color,
const ComplianceType  compliance,
char *  name,
ExceptionInfo *  exception 
)

MagickExport MagickBooleanType QueryMagickColor ( const char *  name,
MagickPixelPacket *  color,
ExceptionInfo *  exception 
)

MagickExport MagickBooleanType QueryMagickColorname ( const Image *  image,
const MagickPixelPacket *  color,
const ComplianceType  compliance,
const MagickBooleanType  hex,
char *  name,
ExceptionInfo *  exception 
)

static void UniqueColorsToImage ( Image *  image,
CubeInfo *  cube_info,
const NodeInfo *  node_info,
ExceptionInfo *  exception 
) [static]

MagickExport Image* UniqueImageColors ( const Image *  image,
ExceptionInfo *  exception 
)


Variable Documentation

LinkedListInfo* color_list = (LinkedListInfo *) NULL [static]

SemaphoreInfo* color_semaphore = (SemaphoreInfo *) NULL [static]

const char* ColorMap [static]

volatile MagickBooleanType instantiate_color = MagickFalse [static]


Generated on Sat Jan 26 14:50:29 2008 for MagickCore by  doxygen 1.5.4