% Set or Get MagickWand Properties, Options, or Profiles %
% %
% Software Design %
-% John Cristy %
+% Cristy %
% August 2003 %
% %
% %
-% Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization %
+% Copyright 1999-2015 ImageMagick Studio LLC, a non-profit organization %
% dedicated to making software imaging solutions freely available. %
% %
% You may not use this file except in compliance with the License. You may %
#include "MagickWand/wand.h"
#include "MagickCore/string-private.h"
\f
-/*
- Define declarations.
-*/
-#define ThrowWandException(severity,tag,context) \
-{ \
- (void) ThrowMagickException(wand->exception,GetMagickModule(),severity, \
- tag,"'%s'",context); \
- return(MagickFalse); \
-}
-\f
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
if (wand->images == (Image *) NULL)
{
(void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","'%s'",wand->name);
+ "ContainsNoImages","`%s'",wand->name);
return(MagickFalse);
}
return(DeleteImageArtifact(wand->images,artifact));
if (wand->images == (Image *) NULL)
{
(void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","'%s'",wand->name);
+ "ContainsNoImages","`%s'",wand->name);
return(MagickFalse);
}
return(DeleteImageProperty(wand->images,property));
if (wand->images == (Image *) NULL)
{
(void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","'%s'",wand->name);
+ "ContainsNoImages","`%s'",wand->name);
return((char *) NULL);
}
value=GetImageArtifact(wand->images,artifact);
if (wand->images == (Image *) NULL)
{
(void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","'%s'",wand->name);
+ "ContainsNoImages","`%s'",wand->name);
return((char **) NULL);
}
(void) GetImageProperty(wand->images,"exif:*",wand->exception);
if (artifacts == (char **) NULL)
{
(void) ThrowMagickException(wand->exception,GetMagickModule(),
- ResourceLimitError,"MemoryAllocationFailed","'%s'",
+ ResourceLimitError,"MemoryAllocationFailed","`%s'",
wand->name);
return((char **) NULL);
}
if (wand->images == (Image *) NULL)
{
(void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","'%s'",wand->name);
+ "ContainsNoImages","`%s'",wand->name);
return((unsigned char *) NULL);
}
*length=0;
if (wand->images == (Image *) NULL)
{
(void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","'%s'",wand->name);
+ "ContainsNoImages","`%s'",wand->name);
return((char **) NULL);
}
(void) GetImageProfile(wand->images,"exif:*");
if (profiles == (char **) NULL)
{
(void) ThrowMagickException(wand->exception,GetMagickModule(),
- ResourceLimitError,"MemoryAllocationFailed","'%s'",
+ ResourceLimitError,"MemoryAllocationFailed","`%s'",
wand->name);
return((char **) NULL);
}
if (wand->images == (Image *) NULL)
{
(void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","'%s'",wand->name);
+ "ContainsNoImages","`%s'",wand->name);
return((char *) NULL);
}
value=GetImageProperty(wand->images,property,wand->exception);
if (wand->images == (Image *) NULL)
{
(void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","'%s'",wand->name);
+ "ContainsNoImages","`%s'",wand->name);
return((char **) NULL);
}
(void) GetImageProperty(wand->images,"exif:*",wand->exception);
if (properties == (char **) NULL)
{
(void) ThrowMagickException(wand->exception,GetMagickModule(),
- ResourceLimitError,"MemoryAllocationFailed","'%s'",
+ ResourceLimitError,"MemoryAllocationFailed","`%s'",
wand->name);
return((char **) NULL);
}
% %
% %
% %
-% M a g i c k G e t O p t i o n %
+% M a g i c k G e t O p t i o n s %
% %
% %
% %
%
% The format of the MagickGetOptions method is:
%
-% char *MagickGetOptions(MagickWand *wand,size_t *number_options)
+% char *MagickGetOptions(MagickWand *wand,const char *pattern,
+% size_t *number_options)
%
% A description of each parameter follows:
%
if (wand->images == (Image *) NULL)
{
(void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","'%s'",wand->name);
+ "ContainsNoImages","`%s'",wand->name);
return((char **) NULL);
}
length=1024;
if (options == (char **) NULL)
{
(void) ThrowMagickException(wand->exception,GetMagickModule(),
- ResourceLimitError,"MemoryAllocationFailed","'%s'",
+ ResourceLimitError,"MemoryAllocationFailed","`%s'",
wand->name);
return((char **) NULL);
}
p++;
i++;
}
- sampling_factors=(double *) AcquireQuantumMemory((size_t) i,
+ sampling_factors=(double *) AcquireQuantumMemory((size_t) i+1,
sizeof(*sampling_factors));
if (sampling_factors == (double *) NULL)
ThrowWandFatalException(ResourceLimitFatalError,"MemoryAllocationFailed",
if (wand->images == (Image *) NULL)
{
(void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","'%s'",wand->name);
+ "ContainsNoImages","`%s'",wand->name);
return((unsigned char *) NULL);
}
*length=0;
{
assert(wand != (MagickWand *) NULL);
assert(wand->signature == WandSignature);
- if( IfMagickTrue(wand->debug) )
+ if (wand->debug != MagickFalse)
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
-
+ if (wand->image_info->extract != (char *) NULL)
+ wand->image_info->extract=DestroyString(wand->image_info->extract);
if (geometry != (const char *) NULL)
- (void) CopyMagickString(wand->image_info->extract,geometry,MaxTextExtent);
+ (void) CloneString(&wand->image_info->extract,geometry);
return(MagickTrue);
}
\f
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
if (filename != (const char *) NULL)
- (void) CopyMagickString(wand->image_info->filename,filename,MaxTextExtent);
+ (void) CopyMagickString(wand->image_info->filename,filename,MagickPathExtent);
return(MagickTrue);
}
\f
if (magick_info == (const MagickInfo *) NULL)
return(MagickFalse);
ClearMagickException(wand->exception);
- (void) CopyMagickString(wand->image_info->magick,format,MaxTextExtent);
+ (void) CopyMagickString(wand->image_info->magick,format,MagickPathExtent);
return(MagickTrue);
}
\f
const ssize_t y)
{
char
- geometry[MaxTextExtent];
+ geometry[MagickPathExtent];
assert(wand != (MagickWand *) NULL);
assert(wand->signature == WandSignature);
if( IfMagickTrue(wand->debug) )
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- (void) FormatLocaleString(geometry,MaxTextExtent,"%.20gx%.20g%+.20g%+.20g",
+ (void) FormatLocaleString(geometry,MagickPathExtent,"%.20gx%.20g%+.20g%+.20g",
(double) width,(double) height,(double) x,(double) y);
(void) CloneString(&wand->image_info->page,geometry);
return(MagickTrue);
% The format of the MagickSetResolution method is:
%
% MagickBooleanType MagickSetResolution(MagickWand *wand,
-% const double x_resolution,const doubtl y_resolution)
+% const double x_resolution,const double y_resolution)
%
% A description of each parameter follows:
%
const double x_resolution,const double y_resolution)
{
char
- density[MaxTextExtent];
+ density[MagickPathExtent];
assert(wand != (MagickWand *) NULL);
assert(wand->signature == WandSignature);
if( IfMagickTrue(wand->debug) )
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- (void) FormatLocaleString(density,MaxTextExtent,"%gx%g",x_resolution,
+ (void) FormatLocaleString(density,MagickPathExtent,"%gx%g",x_resolution,
y_resolution);
(void) CloneString(&wand->image_info->density,density);
return(MagickTrue);
const size_t number_factors,const double *sampling_factors)
{
char
- sampling_factor[MaxTextExtent];
+ sampling_factor[MagickPathExtent];
register ssize_t
i;
return(MagickTrue);
for (i=0; i < (ssize_t) (number_factors-1); i++)
{
- (void) FormatLocaleString(sampling_factor,MaxTextExtent,"%g,",
+ (void) FormatLocaleString(sampling_factor,MagickPathExtent,"%g,",
sampling_factors[i]);
(void) ConcatenateString(&wand->image_info->sampling_factor,
sampling_factor);
}
- (void) FormatLocaleString(sampling_factor,MaxTextExtent,"%g",
+ (void) FormatLocaleString(sampling_factor,MagickPathExtent,"%g",
sampling_factors[i]);
(void) ConcatenateString(&wand->image_info->sampling_factor,sampling_factor);
return(MagickTrue);
const size_t columns,const size_t rows)
{
char
- geometry[MaxTextExtent];
+ geometry[MagickPathExtent];
assert(wand != (MagickWand *) NULL);
assert(wand->signature == WandSignature);
if( IfMagickTrue(wand->debug) )
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- (void) FormatLocaleString(geometry,MaxTextExtent,"%.20gx%.20g",(double)
+ (void) FormatLocaleString(geometry,MagickPathExtent,"%.20gx%.20g",(double)
columns,(double) rows);
(void) CloneString(&wand->image_info->size,geometry);
return(MagickTrue);
const size_t columns,const size_t rows,const ssize_t offset)
{
char
- geometry[MaxTextExtent];
+ geometry[MagickPathExtent];
assert(wand != (MagickWand *) NULL);
assert(wand->signature == WandSignature);
if( IfMagickTrue(wand->debug) )
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- (void) FormatLocaleString(geometry,MaxTextExtent,"%.20gx%.20g%+.20g",
+ (void) FormatLocaleString(geometry,MagickPathExtent,"%.20gx%.20g%+.20g",
(double) columns,(double) rows,(double) offset);
(void) CloneString(&wand->image_info->size,geometry);
return(MagickTrue);
% o wand: the magick wand.
%
% o image_type: the image type: UndefinedType, BilevelType, GrayscaleType,
-% GrayscaleMatteType, PaletteType, PaletteMatteType, TrueColorType,
-% TrueColorMatteType, ColorSeparationType, ColorSeparationMatteType,
+% GrayscaleAlphaType, PaletteType, PaletteAlphaType, TrueColorType,
+% TrueColorAlphaType, ColorSeparationType, ColorSeparationAlphaType,
% or OptimizeType.
%
*/