property.c File Reference

#include "MagickCore/studio.h"
#include "MagickCore/artifact.h"
#include "MagickCore/attribute.h"
#include "MagickCore/cache.h"
#include "MagickCore/cache-private.h"
#include "MagickCore/color.h"
#include "MagickCore/color-private.h"
#include "MagickCore/colorspace-private.h"
#include "MagickCore/compare.h"
#include "MagickCore/constitute.h"
#include "MagickCore/draw.h"
#include "MagickCore/effect.h"
#include "MagickCore/exception.h"
#include "MagickCore/exception-private.h"
#include "MagickCore/fx.h"
#include "MagickCore/fx-private.h"
#include "MagickCore/gem.h"
#include "MagickCore/geometry.h"
#include "MagickCore/histogram.h"
#include "MagickCore/image.h"
#include "MagickCore/layer.h"
#include "MagickCore/locale-private.h"
#include "MagickCore/list.h"
#include "MagickCore/magick.h"
#include "MagickCore/memory_.h"
#include "MagickCore/monitor.h"
#include "MagickCore/montage.h"
#include "MagickCore/option.h"
#include "MagickCore/policy.h"
#include "MagickCore/profile.h"
#include "MagickCore/property.h"
#include "MagickCore/quantum.h"
#include "MagickCore/resource_.h"
#include "MagickCore/splay-tree.h"
#include "MagickCore/signature.h"
#include "MagickCore/statistic.h"
#include "MagickCore/string_.h"
#include "MagickCore/string-private.h"
#include "MagickCore/token.h"
#include "MagickCore/token-private.h"
#include "MagickCore/utility.h"
#include "MagickCore/utility-private.h"
#include "MagickCore/version.h"
#include "MagickCore/xml-tree.h"
#include "MagickCore/xml-tree-private.h"
#include "lcms2.h"

Defines

#define MaxDirectoryStack   16
#define EXIF_DELIMITER   "\n"
#define EXIF_NUM_FORMATS   12
#define EXIF_FMT_BYTE   1
#define EXIF_FMT_STRING   2
#define EXIF_FMT_USHORT   3
#define EXIF_FMT_ULONG   4
#define EXIF_FMT_URATIONAL   5
#define EXIF_FMT_SBYTE   6
#define EXIF_FMT_UNDEFINED   7
#define EXIF_FMT_SSHORT   8
#define EXIF_FMT_SLONG   9
#define EXIF_FMT_SRATIONAL   10
#define EXIF_FMT_SINGLE   11
#define EXIF_FMT_DOUBLE   12
#define TAG_EXIF_OFFSET   0x8769
#define TAG_GPS_OFFSET   0x8825
#define TAG_INTEROP_OFFSET   0xa005
#define EXIFMultipleValues(size, format, arg)
#define EXIFMultipleFractions(size, format, arg1, arg2)
#define WarnNoImageReturn(format, arg)
#define WarnNoImageInfoReturn(format, arg)
#define cmsUInt32Number   DWORD
#define ExtendInterpretText(string_length)
#define AppendKeyValue2Text(key, value)
#define AppendString2Text(string)

Functions

MagickExport MagickBooleanType CloneImageProperties (Image *image, const Image *clone_image)
MagickExport MagickBooleanType DefineImageProperty (Image *image, const char *property, ExceptionInfo *exception)
MagickExport MagickBooleanType DeleteImageProperty (Image *image, const char *property)
MagickExport void DestroyImageProperties (Image *image)
MagickExport MagickBooleanType FormatImageProperty (Image *image, const char *property, const char *format,...)
static char * TracePSClippath (const unsigned char *, size_t)
static char ** TraceSVGClippath (const unsigned char *, size_t, const size_t, const size_t)
static MagickBooleanType GetIPTCProperty (const Image *image, const char *key, ExceptionInfo *exception)
static int ReadPropertyByte (const unsigned char **p, size_t *length)
static signed int ReadPropertyMSBLong (const unsigned char **p, size_t *length)
static signed short ReadPropertyMSBShort (const unsigned char **p, size_t *length)
static MagickBooleanType Get8BIMProperty (const Image *image, const char *key, ExceptionInfo *exception)
static signed int ReadPropertySignedLong (const EndianType endian, const unsigned char *buffer)
static unsigned int ReadPropertyUnsignedLong (const EndianType endian, const unsigned char *buffer)
static signed short ReadPropertySignedShort (const EndianType endian, const unsigned char *buffer)
static unsigned short ReadPropertyUnsignedShort (const EndianType endian, const unsigned char *buffer)
static MagickBooleanType GetEXIFProperty (const Image *image, const char *property, ExceptionInfo *exception)
static MagickBooleanType GetICCProperty (const Image *image, const char *property, ExceptionInfo *exception)
static MagickBooleanType SkipXMPValue (const char *value)
static MagickBooleanType GetXMPProperty (const Image *image, const char *property)
static void TraceBezierCurve (char *message, PointInfo *last, PointInfo *point)
MagickExport const char * GetImageProperty (const Image *image, const char *property, ExceptionInfo *exception)
static const char * GetMagickPropertyLetter (ImageInfo *image_info, Image *image, const char letter, ExceptionInfo *exception)
MagickExport const char * GetMagickProperty (ImageInfo *image_info, Image *image, const char *property, ExceptionInfo *exception)
MagickExport const char * GetNextImageProperty (const Image *image)
MagickExport char * InterpretImageProperties (ImageInfo *image_info, Image *image, const char *embed_text, ExceptionInfo *exception)
MagickExport char * RemoveImageProperty (Image *image, const char *property)
MagickExport void ResetImagePropertyIterator (const Image *image)
MagickExport MagickBooleanType SetImageProperty (Image *image, const char *property, const char *value, ExceptionInfo *exception)

Define Documentation

#define AppendKeyValue2Text ( key,
value   ) 
Value:
DisableMSCWarning(4127) \
{ \
  size_t length=strlen(key)+strlen(value)+2; \
  if ((size_t) (q-interpret_text+length+1) >= extent) \
    { \
      extent+=length; \
      interpret_text=(char *) ResizeQuantumMemory(interpret_text,extent+ \
        MaxTextExtent,sizeof(*interpret_text)); \
      if (interpret_text == (char *) NULL) \
        { \
          if (property_image != image) \
            property_image=DestroyImage(property_image); \
          if (property_info != image_info) \
            property_info=DestroyImageInfo(property_info); \
          return((char *) NULL); \
        } \
      q=interpret_text+strlen(interpret_text); \
     } \
   q+=FormatLocaleString(q,extent,"%s=%s\n",(key),(value)); \
} \
RestoreMSCWarning
#define AppendString2Text ( string   ) 
Value:
DisableMSCWarning(4127) \
{ \
  size_t length=strlen((string)); \
  if ((size_t) (q-interpret_text+length+1) >= extent) \
    { \
      extent+=length; \
      interpret_text=(char *) ResizeQuantumMemory(interpret_text,extent+ \
        MaxTextExtent,sizeof(*interpret_text)); \
      if (interpret_text == (char *) NULL) \
        { \
          if (property_image != image) \
            property_image=DestroyImage(property_image); \
          if (property_info != image_info) \
            property_info=DestroyImageInfo(property_info); \
          return((char *) NULL); \
        } \
      q=interpret_text+strlen(interpret_text); \
    } \
  (void) CopyMagickString(q,(string),extent); \
  q+=length; \
} \
RestoreMSCWarning
#define cmsUInt32Number   DWORD
#define EXIF_DELIMITER   "\n"
#define EXIF_FMT_BYTE   1

Referenced by GetEXIFProperty().

#define EXIF_FMT_DOUBLE   12

Referenced by GetEXIFProperty().

#define EXIF_FMT_SBYTE   6

Referenced by GetEXIFProperty().

#define EXIF_FMT_SINGLE   11

Referenced by GetEXIFProperty().

#define EXIF_FMT_SLONG   9

Referenced by GetEXIFProperty().

#define EXIF_FMT_SRATIONAL   10

Referenced by GetEXIFProperty().

#define EXIF_FMT_SSHORT   8

Referenced by GetEXIFProperty().

#define EXIF_FMT_STRING   2

Referenced by GetEXIFProperty().

#define EXIF_FMT_ULONG   4

Referenced by GetEXIFProperty().

#define EXIF_FMT_UNDEFINED   7

Referenced by GetEXIFProperty().

#define EXIF_FMT_URATIONAL   5

Referenced by GetEXIFProperty().

#define EXIF_FMT_USHORT   3

Referenced by GetEXIFProperty().

#define EXIF_NUM_FORMATS   12
#define EXIFMultipleFractions ( size,
format,
arg1,
arg2   ) 
Value:
{ \
   ssize_t \
     component; \
 \
   size_t \
     len; \
 \
   unsigned char \
     *p1; \
 \
   len=0; \
   p1=p; \
   for (component=0; component < components; component++) \
   { \
     len+=FormatLocaleString(buffer+len,MagickPathExtent-len,format", ", \
       (arg1),(arg2)); \
     if (len >= (MagickPathExtent-1)) \
       len=MagickPathExtent-1; \
     p1+=size; \
   } \
   if (len > 1) \
     buffer[len-2]='\0'; \
   value=AcquireString(buffer); \
}

Referenced by GetEXIFProperty().

#define EXIFMultipleValues ( size,
format,
arg   ) 
Value:
{ \
   ssize_t \
     component; \
 \
   size_t \
     len; \
 \
   unsigned char \
     *p1; \
 \
   len=0; \
   p1=p; \
   for (component=0; component < components; component++) \
   { \
     len+=FormatLocaleString(buffer+len,MagickPathExtent-len,format", ",arg); \
     if (len >= (MagickPathExtent-1)) \
       len=MagickPathExtent-1; \
     p1+=size; \
   } \
   if (len > 1) \
     buffer[len-2]='\0'; \
   value=AcquireString(buffer); \
}

Referenced by GetEXIFProperty().

#define ExtendInterpretText ( string_length   ) 
Value:
DisableMSCWarning(4127) \
{ \
  size_t length=(string_length); \
  if ((size_t) (q-interpret_text+length+1) >= extent) \
    { \
      extent+=length; \
      interpret_text=(char *) ResizeQuantumMemory(interpret_text,extent+ \
        MaxTextExtent,sizeof(*interpret_text)); \
      if (interpret_text == (char *) NULL) \
        { \
          if (property_image != image) \
            property_image=DestroyImage(property_image); \
          if (property_info != image_info) \
            property_info=DestroyImageInfo(property_info); \
          return((char *) NULL); \
        } \
      q=interpret_text+strlen(interpret_text); \
   } \
} \
RestoreMSCWarning
#define MaxDirectoryStack   16
#define TAG_EXIF_OFFSET   0x8769
#define TAG_GPS_OFFSET   0x8825

Referenced by GetEXIFProperty().

#define TAG_INTEROP_OFFSET   0xa005
#define WarnNoImageInfoReturn ( format,
arg   ) 
Value:
if (image_info == (ImageInfo *) NULL ) { \
    (void) ThrowMagickException(exception,GetMagickModule(),OptionWarning, \
      "NoImageInfoForProperty",format,arg); \
    return((const char *) NULL); \
  }
#define WarnNoImageReturn ( format,
arg   ) 
Value:
if (image == (Image *) NULL ) { \
    (void) ThrowMagickException(exception,GetMagickModule(),OptionWarning, \
      "NoImageForProperty",format,arg); \
    return((const char *) NULL); \
  }

Function Documentation

MagickExport MagickBooleanType CloneImageProperties ( Image image,
const Image clone_image 
)
MagickExport MagickBooleanType DefineImageProperty ( Image image,
const char *  property,
ExceptionInfo exception 
)
MagickExport MagickBooleanType DeleteImageProperty ( Image image,
const char *  property 
)
MagickExport void DestroyImageProperties ( Image image  ) 
MagickExport MagickBooleanType FormatImageProperty ( Image image,
const char *  property,
const char *  format,
  ... 
)
static MagickBooleanType Get8BIMProperty ( const Image image,
const char *  key,
ExceptionInfo exception 
) [static]
static MagickBooleanType GetEXIFProperty ( const Image image,
const char *  property,
ExceptionInfo exception 
) [static]
static MagickBooleanType GetICCProperty ( const Image image,
const char *  property,
ExceptionInfo exception 
) [static]
MagickExport const char* GetImageProperty ( const Image image,
const char *  property,
ExceptionInfo exception 
)
static MagickBooleanType GetIPTCProperty ( const Image image,
const char *  key,
ExceptionInfo exception 
) [static]
MagickExport const char* GetMagickProperty ( ImageInfo image_info,
Image image,
const char *  property,
ExceptionInfo exception 
)

References _Image::alpha_trait, BasePath, cmsUInt32Number, _Image::colors, _Image::colorspace, _Image::columns, CommandOptionToMnemonic(), _Image::compose, _Image::compression, ConcatenateMagickString(), CopyMagickString(), _ImageInfo::debug, _Image::debug, _Image::depth, ExtensionPath, _ImageInfo::filename, _Image::filename, FormatLocaleString(), FormatMagickSize(), _Image::gamma, GetBlobSize(), GetImageArtifact(), GetImageDepth(), GetImageEntropy(), GetImageKurtosis(), GetImageListLength(), GetImageMean(), GetImageOption(), GetImageProfile(), GetImageRange(), GetMagickCopyright(), GetMagickModule, GetMagickPrecision(), GetMagickPropertyLetter(), GetMagickVersion(), GetNextImageProfile(), GetNumberColors(), GetPathComponent(), GetStringInfoDatum(), GetStringInfoLength(), HeadPath, _RectangleInfo::height, IdentifyImageType(), _Image::interlace, IsImageOpaque(), LocaleCompare(), LocaleLower(), LogMagickEvent(), _Image::magick, _Image::magick_columns, _Image::magick_filename, _Image::magick_rows, MagickBooleanOptions, MagickColorspaceOptions, MagickComposeOptions, MagickCompressOptions, MagickFalse, MagickInterlaceOptions, MagickOrientationOptions, MagickPathExtent, MagickResolutionOptions, MagickTypeOptions, MaxTextExtent, _ImageInfo::number_scenes, _Image::orientation, _Image::page, PerceptibleReciprocal(), _Image::quality, ResetImageProfileIterator(), _Image::resolution, _Image::rows, _Image::scene, _ImageInfo::scene, SetImageArtifact(), SetImageOption(), TraceEvent, UndefinedPixelTrait, _ImageInfo::unique, _Image::units, WarnNoImageInfoReturn, WarnNoImageReturn, _RectangleInfo::width, _PointInfo::x, and _PointInfo::y.

Referenced by InterpretImageProperties().

static const char* GetMagickPropertyLetter ( ImageInfo image_info,
Image image,
const char  letter,
ExceptionInfo exception 
) [static]
MagickExport const char* GetNextImageProperty ( const Image image  ) 
static MagickBooleanType GetXMPProperty ( const Image image,
const char *  property 
) [static]
MagickExport char* InterpretImageProperties ( ImageInfo image_info,
Image image,
const char *  embed_text,
ExceptionInfo exception 
)
static int ReadPropertyByte ( const unsigned char **  p,
size_t *  length 
) [inline, static]

Referenced by Get8BIMProperty(), and GetEXIFProperty().

static signed int ReadPropertyMSBLong ( const unsigned char **  p,
size_t *  length 
) [inline, static]
static signed short ReadPropertyMSBShort ( const unsigned char **  p,
size_t *  length 
) [inline, static]
static signed int ReadPropertySignedLong ( const EndianType  endian,
const unsigned char *  buffer 
) [inline, static]

References LSBEndian.

Referenced by GetEXIFProperty().

static signed short ReadPropertySignedShort ( const EndianType  endian,
const unsigned char *  buffer 
) [inline, static]

References LSBEndian.

Referenced by GetEXIFProperty().

static unsigned int ReadPropertyUnsignedLong ( const EndianType  endian,
const unsigned char *  buffer 
) [inline, static]

References LSBEndian.

Referenced by GetEXIFProperty().

static unsigned short ReadPropertyUnsignedShort ( const EndianType  endian,
const unsigned char *  buffer 
) [inline, static]

References LSBEndian.

Referenced by GetEXIFProperty().

MagickExport char* RemoveImageProperty ( Image image,
const char *  property 
)
MagickExport void ResetImagePropertyIterator ( const Image image  ) 
MagickExport MagickBooleanType SetImageProperty ( Image image,
const char *  property,
const char *  value,
ExceptionInfo exception 
)

References AcquireImageInfo(), AddValueToSplayTree(), AllCompliance, _Image::background_color, CompareSplayTreeString(), _Image::compose, _Image::compression, ConstantString(), CopyMagickString(), _Image::debug, _Image::delay, DeleteImageProperty(), _Image::depth, DestroyImageInfo(), DestroyString(), _Image::dispose, _ImageInfo::filename, _Image::filename, FileToStringInfo(), _Image::gamma, GetMagickModule, GetPageGeometry(), _Image::gravity, GreaterValue, _Image::intensity, _Image::interpolate, _Image::iterations, LessValue, LocaleCompare(), LocaleNCompare(), LogMagickEvent(), _ImageInfo::magick, MagickColorspaceOptions, MagickComposeOptions, MagickCompressOptions, MagickCoreSignature, MagickDisposeOptions, MagickFalse, MagickGravityOptions, MagickIntentOptions, MagickInterpolateOptions, MagickPathExtent, MagickResolutionOptions, MagickTrue, MagickTypeOptions, NewSplayTree(), OptionError, _Image::page, ParseAbsoluteGeometry(), ParseCommandOption(), ParseGeometry(), _Image::properties, QueryColorCompliance(), RelinquishMagickMemory(), _Image::rendering_intent, _Image::resolution, _GeometryInfo::rho, RhoValue, SetImageColorspace(), SetImageInfo(), SetImageProfile(), _GeometryInfo::sigma, SigmaValue, _Image::signature, StringToDouble(), StringToUnsignedLong(), ThrowMagickException(), _Image::ticks_per_second, _Image::tile_offset, TraceEvent, _Image::type, _Image::units, _PointInfo::x, and _PointInfo::y.

Referenced by AutoThresholdImage(), DefineImageProperty(), FormatImageProperty(), Get8BIMProperty(), GetEXIFProperty(), GetICCProperty(), GetIPTCProperty(), PreviewImage(), ReadImage(), SignatureImage(), and ThumbnailImage().

static MagickBooleanType SkipXMPValue ( const char *  value  )  [static]

References MagickFalse, and MagickTrue.

Referenced by GetXMPProperty().

static void TraceBezierCurve ( char *  message,
PointInfo last,
PointInfo point 
) [inline, static]
static char * TracePSClippath ( const unsigned char *  blob,
size_t  length 
) [static]
static char * TraceSVGClippath ( const unsigned char *  blob,
size_t  length,
const size_t  columns,
const size_t  rows 
)

Generated on 18 Dec 2019 for MagickCore by  doxygen 1.6.1