/MagickWand/magick-property.c
C | 3051 lines | 1101 code | 107 blank | 1843 comment | 371 complexity | dec5cf4ccd3ce1e53af31db1f6a53539 MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M M AAA GGGG IIIII CCCC K K %
- % MM MM A A G I C K K %
- % M M M AAAAA G GGG I C KKK %
- % M M A A G G I C K K %
- % M M A A GGGG IIIII CCCC K K %
- % %
- % PPPP RRRR OOO PPPP EEEEE RRRR TTTTT Y Y %
- % P P R R O O P P E R R T Y Y %
- % PPPP RRRR O O PPPP EEE RRRR T Y %
- % P R R O O P E R R T Y %
- % P R R OOO P EEEEE R R T Y %
- % %
- % %
- % Set or Get MagickWand Properties, Options, or Profiles %
- % %
- % Software Design %
- % Cristy %
- % August 2003 %
- % %
- % %
- % Copyright 1999-2019 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 %
- % obtain a copy of the License at %
- % %
- % https://imagemagick.org/script/license.php %
- % %
- % Unless required by applicable law or agreed to in writing, software %
- % distributed under the License is distributed on an "AS IS" BASIS, %
- % WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. %
- % See the License for the specific language governing permissions and %
- % limitations under the License. %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- %
- %
- */
- /*
- Include declarations.
- */
- #include "MagickWand/studio.h"
- #include "MagickWand/MagickWand.h"
- #include "MagickWand/magick-wand-private.h"
- #include "MagickWand/wand.h"
- #include "MagickCore/string-private.h"
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k D e l e t e I m a g e A r t i f a c t %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickDeleteImageArtifact() deletes a wand artifact.
- %
- % The format of the MagickDeleteImageArtifact method is:
- %
- % MagickBooleanType MagickDeleteImageArtifact(MagickWand *wand,
- % const char *artifact)
- %
- % A description of each parameter follows:
- %
- % o image: the image.
- %
- % o artifact: the image artifact.
- %
- */
- WandExport MagickBooleanType MagickDeleteImageArtifact(MagickWand *wand,
- const char *artifact)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->images == (Image *) NULL)
- {
- (void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","`%s'",wand->name);
- return(MagickFalse);
- }
- return(DeleteImageArtifact(wand->images,artifact));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k D e l e t e I m a g e P r o p e r t y %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickDeleteImageProperty() deletes a wand property.
- %
- % The format of the MagickDeleteImageProperty method is:
- %
- % MagickBooleanType MagickDeleteImageProperty(MagickWand *wand,
- % const char *property)
- %
- % A description of each parameter follows:
- %
- % o image: the image.
- %
- % o property: the image property.
- %
- */
- WandExport MagickBooleanType MagickDeleteImageProperty(MagickWand *wand,
- const char *property)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->images == (Image *) NULL)
- {
- (void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","`%s'",wand->name);
- return(MagickFalse);
- }
- return(DeleteImageProperty(wand->images,property));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k D e l e t e O p t i o n %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickDeleteOption() deletes a wand option.
- %
- % The format of the MagickDeleteOption method is:
- %
- % MagickBooleanType MagickDeleteOption(MagickWand *wand,
- % const char *option)
- %
- % A description of each parameter follows:
- %
- % o image: the image.
- %
- % o option: the image option.
- %
- */
- WandExport MagickBooleanType MagickDeleteOption(MagickWand *wand,
- const char *option)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- return(DeleteImageOption(wand->image_info,option));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t A n t i a l i a s %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetAntialias() returns the antialias property associated with the
- % wand.
- %
- % The format of the MagickGetAntialias method is:
- %
- % MagickBooleanType MagickGetAntialias(const MagickWand *wand)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport MagickBooleanType MagickGetAntialias(const MagickWand *wand)
- {
- assert(wand != (const MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- return(wand->image_info->antialias);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t B a c k g r o u n d C o l o r %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetBackgroundColor() returns the wand background color.
- %
- % The format of the MagickGetBackgroundColor method is:
- %
- % PixelWand *MagickGetBackgroundColor(MagickWand *wand)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport PixelWand *MagickGetBackgroundColor(MagickWand *wand)
- {
- PixelWand
- *background_color;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- background_color=NewPixelWand();
- PixelSetPixelColor(background_color,&wand->image_info->background_color);
- return(background_color);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t C o l o r s p a c e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetColorspace() gets the wand colorspace type.
- %
- % The format of the MagickGetColorspace method is:
- %
- % ColorspaceType MagickGetColorspace(MagickWand *wand)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport ColorspaceType MagickGetColorspace(MagickWand *wand)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- return(wand->image_info->colorspace);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t C o m p r e s s i o n %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetCompression() gets the wand compression type.
- %
- % The format of the MagickGetCompression method is:
- %
- % CompressionType MagickGetCompression(MagickWand *wand)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport CompressionType MagickGetCompression(MagickWand *wand)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- return(wand->image_info->compression);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t C o m p r e s s i o n Q u a l i t y %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetCompressionQuality() gets the wand compression quality.
- %
- % The format of the MagickGetCompressionQuality method is:
- %
- % size_t MagickGetCompressionQuality(MagickWand *wand)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport size_t MagickGetCompressionQuality(MagickWand *wand)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- return(wand->image_info->quality);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t C o p y r i g h t %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetCopyright() returns the ImageMagick API copyright as a string
- % constant.
- %
- % The format of the MagickGetCopyright method is:
- %
- % const char *MagickGetCopyright(void)
- %
- */
- WandExport const char *MagickGetCopyright(void)
- {
- return(GetMagickCopyright());
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t F i l e n a m e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetFilename() returns the filename associated with an image sequence.
- %
- % The format of the MagickGetFilename method is:
- %
- % const char *MagickGetFilename(const MagickWand *wand)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport char *MagickGetFilename(const MagickWand *wand)
- {
- assert(wand != (const MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- return(AcquireString(wand->image_info->filename));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t F o n t %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetFont() returns the font associated with the MagickWand.
- %
- % The format of the MagickGetFont method is:
- %
- % char *MagickGetFont(MagickWand *wand)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport char *MagickGetFont(MagickWand *wand)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->image_info->font == (char *) NULL)
- return((char *) NULL);
- return(AcquireString(wand->image_info->font));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t F o r m a t %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetFormat() returns the format of the magick wand.
- %
- % The format of the MagickGetFormat method is:
- %
- % const char MagickGetFormat(MagickWand *wand)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport char *MagickGetFormat(MagickWand *wand)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- return(AcquireString(wand->image_info->magick));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t G r a v i t y %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetGravity() gets the wand gravity.
- %
- % The format of the MagickGetGravity method is:
- %
- % GravityType MagickGetGravity(MagickWand *wand)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport GravityType MagickGetGravity(MagickWand *wand)
- {
- const char
- *option;
- GravityType
- type;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- option=GetImageOption(wand->image_info,"gravity");
- if (option == (const char *) NULL)
- return(UndefinedGravity);
- type=(GravityType) ParseCommandOption(MagickGravityOptions,MagickFalse,option);
- return(type);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t H o m e U R L %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetHomeURL() returns the ImageMagick home URL.
- %
- % The format of the MagickGetHomeURL method is:
- %
- % char *MagickGetHomeURL(void)
- %
- */
- WandExport char *MagickGetHomeURL(void)
- {
- return(GetMagickHomeURL());
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t I m a g e A r t i f a c t %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetImageArtifact() returns a value associated with the specified
- % artifact. Use MagickRelinquishMemory() to free the value when you are
- % finished with it.
- %
- % The format of the MagickGetImageArtifact method is:
- %
- % char *MagickGetImageArtifact(MagickWand *wand,const char *artifact)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o artifact: the artifact.
- %
- */
- WandExport char *MagickGetImageArtifact(MagickWand *wand,const char *artifact)
- {
- const char
- *value;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->images == (Image *) NULL)
- {
- (void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","`%s'",wand->name);
- return((char *) NULL);
- }
- value=GetImageArtifact(wand->images,artifact);
- if (value == (const char *) NULL)
- return((char *) NULL);
- return(ConstantString(value));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t I m a g e P r o p e r t i e s %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetImageArtifacts() returns all the artifact names that match the
- % specified pattern associated with a wand. Use MagickGetImageProperty() to
- % return the value of a particular artifact. Use MagickRelinquishMemory() to
- % free the value when you are finished with it.
- %
- % The format of the MagickGetImageArtifacts method is:
- %
- % char *MagickGetImageArtifacts(MagickWand *wand,
- % const char *pattern,size_t *number_artifacts)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o pattern: Specifies a pointer to a text string containing a pattern.
- %
- % o number_artifacts: the number artifacts associated with this wand.
- %
- */
- WandExport char **MagickGetImageArtifacts(MagickWand *wand,
- const char *pattern,size_t *number_artifacts)
- {
- char
- **artifacts;
- const char
- *artifact;
- register ssize_t
- i;
- size_t
- length;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->images == (Image *) NULL)
- {
- (void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","`%s'",wand->name);
- return((char **) NULL);
- }
- (void) GetImageProperty(wand->images,"exif:*",wand->exception);
- length=1024;
- artifacts=(char **) AcquireQuantumMemory(length,sizeof(*artifacts));
- if (artifacts == (char **) NULL)
- return((char **) NULL);
- ResetImagePropertyIterator(wand->images);
- artifact=GetNextImageProperty(wand->images);
- for (i=0; artifact != (const char *) NULL; )
- {
- if ((*artifact != '[') &&
- (GlobExpression(artifact,pattern,MagickFalse) != MagickFalse))
- {
- if ((i+1) >= (ssize_t) length)
- {
- length<<=1;
- artifacts=(char **) ResizeQuantumMemory(artifacts,length,
- sizeof(*artifacts));
- if (artifacts == (char **) NULL)
- {
- (void) ThrowMagickException(wand->exception,GetMagickModule(),
- ResourceLimitError,"MemoryAllocationFailed","`%s'",
- wand->name);
- return((char **) NULL);
- }
- }
- artifacts[i]=ConstantString(artifact);
- i++;
- }
- artifact=GetNextImageProperty(wand->images);
- }
- artifacts[i]=(char *) NULL;
- *number_artifacts=(size_t) i;
- return(artifacts);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t I m a g e P r o f i l e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetImageProfile() returns the named image profile.
- %
- % The format of the MagickGetImageProfile method is:
- %
- % unsigned char *MagickGetImageProfile(MagickWand *wand,const char *name,
- % size_t *length)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o name: Name of profile to return: ICC, IPTC, or generic profile.
- %
- % o length: the length of the profile.
- %
- */
- WandExport unsigned char *MagickGetImageProfile(MagickWand *wand,
- const char *name,size_t *length)
- {
- const StringInfo
- *profile;
- unsigned char
- *datum;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->images == (Image *) NULL)
- {
- (void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","`%s'",wand->name);
- return((unsigned char *) NULL);
- }
- *length=0;
- if (wand->images->profiles == (SplayTreeInfo *) NULL)
- return((unsigned char *) NULL);
- profile=GetImageProfile(wand->images,name);
- if (profile == (StringInfo *) NULL)
- return((unsigned char *) NULL);
- datum=(unsigned char *) AcquireQuantumMemory(GetStringInfoLength(profile),
- sizeof(*datum));
- if (datum == (unsigned char *) NULL)
- return((unsigned char *) NULL);
- (void) memcpy(datum,GetStringInfoDatum(profile),
- GetStringInfoLength(profile));
- *length=(size_t) GetStringInfoLength(profile);
- return(datum);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t I m a g e P r o f i l e s %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetImageProfiles() returns all the profile names that match the
- % specified pattern associated with a wand. Use MagickGetImageProfile() to
- % return the value of a particular property. Use MagickRelinquishMemory() to
- % free the value when you are finished with it.
- %
- % The format of the MagickGetImageProfiles method is:
- %
- % char *MagickGetImageProfiles(MagickWand *wand,const char *pattern,
- % size_t *number_profiles)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o pattern: Specifies a pointer to a text string containing a pattern.
- %
- % o number_profiles: the number profiles associated with this wand.
- %
- */
- WandExport char **MagickGetImageProfiles(MagickWand *wand,const char *pattern,
- size_t *number_profiles)
- {
- char
- **profiles;
- const char
- *property;
- register ssize_t
- i;
- size_t
- length;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->images == (Image *) NULL)
- {
- (void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","`%s'",wand->name);
- return((char **) NULL);
- }
- (void) GetImageProfile(wand->images,"exif:*");
- length=1024;
- profiles=(char **) AcquireQuantumMemory(length,sizeof(*profiles));
- if (profiles == (char **) NULL)
- return((char **) NULL);
- ResetImageProfileIterator(wand->images);
- property=GetNextImageProfile(wand->images);
- for (i=0; property != (const char *) NULL; )
- {
- if ((*property != '[') &&
- (GlobExpression(property,pattern,MagickFalse) != MagickFalse))
- {
- if ((i+1) >= (ssize_t) length)
- {
- length<<=1;
- profiles=(char **) ResizeQuantumMemory(profiles,length,
- sizeof(*profiles));
- if (profiles == (char **) NULL)
- {
- (void) ThrowMagickException(wand->exception,GetMagickModule(),
- ResourceLimitError,"MemoryAllocationFailed","`%s'",
- wand->name);
- return((char **) NULL);
- }
- }
- profiles[i]=ConstantString(property);
- i++;
- }
- property=GetNextImageProfile(wand->images);
- }
- profiles[i]=(char *) NULL;
- *number_profiles=(size_t) i;
- return(profiles);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t I m a g e P r o p e r t y %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetImageProperty() returns a value associated with the specified
- % property. Use MagickRelinquishMemory() to free the value when you are
- % finished with it.
- %
- % The format of the MagickGetImageProperty method is:
- %
- % char *MagickGetImageProperty(MagickWand *wand,const char *property)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o property: the property.
- %
- */
- WandExport char *MagickGetImageProperty(MagickWand *wand,const char *property)
- {
- const char
- *value;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->images == (Image *) NULL)
- {
- (void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","`%s'",wand->name);
- return((char *) NULL);
- }
- value=GetImageProperty(wand->images,property,wand->exception);
- if (value == (const char *) NULL)
- return((char *) NULL);
- return(ConstantString(value));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t I m a g e P r o p e r t i e s %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetImageProperties() returns all the property names that match the
- % specified pattern associated with a wand. Use MagickGetImageProperty() to
- % return the value of a particular property. Use MagickRelinquishMemory() to
- % free the value when you are finished with it.
- %
- % The format of the MagickGetImageProperties method is:
- %
- % char *MagickGetImageProperties(MagickWand *wand,
- % const char *pattern,size_t *number_properties)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o pattern: Specifies a pointer to a text string containing a pattern.
- %
- % o number_properties: the number properties associated with this wand.
- %
- */
- WandExport char **MagickGetImageProperties(MagickWand *wand,
- const char *pattern,size_t *number_properties)
- {
- char
- **properties;
- const char
- *property;
- register ssize_t
- i;
- size_t
- length;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->images == (Image *) NULL)
- {
- (void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","`%s'",wand->name);
- return((char **) NULL);
- }
- (void) GetImageProperty(wand->images,"exif:*",wand->exception);
- length=1024;
- properties=(char **) AcquireQuantumMemory(length,sizeof(*properties));
- if (properties == (char **) NULL)
- return((char **) NULL);
- ResetImagePropertyIterator(wand->images);
- property=GetNextImageProperty(wand->images);
- for (i=0; property != (const char *) NULL; )
- {
- if ((*property != '[') &&
- (GlobExpression(property,pattern,MagickFalse) != MagickFalse))
- {
- if ((i+1) >= (ssize_t) length)
- {
- length<<=1;
- properties=(char **) ResizeQuantumMemory(properties,length,
- sizeof(*properties));
- if (properties == (char **) NULL)
- {
- (void) ThrowMagickException(wand->exception,GetMagickModule(),
- ResourceLimitError,"MemoryAllocationFailed","`%s'",
- wand->name);
- return((char **) NULL);
- }
- }
- properties[i]=ConstantString(property);
- i++;
- }
- property=GetNextImageProperty(wand->images);
- }
- properties[i]=(char *) NULL;
- *number_properties=(size_t) i;
- return(properties);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t I n t e r l a c e S c h e m e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetInterlaceScheme() gets the wand interlace scheme.
- %
- % The format of the MagickGetInterlaceScheme method is:
- %
- % InterlaceType MagickGetInterlaceScheme(MagickWand *wand)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport InterlaceType MagickGetInterlaceScheme(MagickWand *wand)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- return(wand->image_info->interlace);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t I n t e r p o l a t e M e t h o d %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetInterpolateMethod() gets the wand compression.
- %
- % The format of the MagickGetInterpolateMethod method is:
- %
- % PixelInterpolateMethod MagickGetInterpolateMethod(MagickWand *wand)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport PixelInterpolateMethod MagickGetInterpolateMethod(MagickWand *wand)
- {
- const char
- *option;
- PixelInterpolateMethod
- method;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- option=GetImageOption(wand->image_info,"interpolate");
- if (option == (const char *) NULL)
- return(UndefinedInterpolatePixel);
- method=(PixelInterpolateMethod) ParseCommandOption(MagickInterpolateOptions,
- MagickFalse,option);
- return(method);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t O p t i o n %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetOption() returns a value associated with a wand and the specified
- % key. Use MagickRelinquishMemory() to free the value when you are finished
- % with it.
- %
- % The format of the MagickGetOption method is:
- %
- % char *MagickGetOption(MagickWand *wand,const char *key)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o key: the key.
- %
- */
- WandExport char *MagickGetOption(MagickWand *wand,const char *key)
- {
- const char
- *option;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- option=GetImageOption(wand->image_info,key);
- return(ConstantString(option));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t O p t i o n s %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetOptions() returns all the option names that match the specified
- % pattern associated with a wand. Use MagickGetOption() to return the value
- % of a particular option. Use MagickRelinquishMemory() to free the value
- % when you are finished with it.
- %
- % The format of the MagickGetOptions method is:
- %
- % char *MagickGetOptions(MagickWand *wand,const char *pattern,
- % size_t *number_options)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o pattern: Specifies a pointer to a text string containing a pattern.
- %
- % o number_options: the number options associated with this wand.
- %
- */
- WandExport char **MagickGetOptions(MagickWand *wand,const char *pattern,
- size_t *number_options)
- {
- char
- **options;
- const char
- *option;
- register ssize_t
- i;
- size_t
- length;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->images == (Image *) NULL)
- {
- (void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","`%s'",wand->name);
- return((char **) NULL);
- }
- length=1024;
- options=(char **) AcquireQuantumMemory(length,sizeof(*options));
- if (options == (char **) NULL)
- return((char **) NULL);
- ResetImageOptionIterator(wand->image_info);
- option=GetNextImageOption(wand->image_info);
- for (i=0; option != (const char *) NULL; )
- {
- if ((*option != '[') &&
- (GlobExpression(option,pattern,MagickFalse) != MagickFalse))
- {
- if ((i+1) >= (ssize_t) length)
- {
- length<<=1;
- options=(char **) ResizeQuantumMemory(options,length,
- sizeof(*options));
- if (options == (char **) NULL)
- {
- (void) ThrowMagickException(wand->exception,GetMagickModule(),
- ResourceLimitError,"MemoryAllocationFailed","`%s'",
- wand->name);
- return((char **) NULL);
- }
- }
- options[i]=ConstantString(option);
- i++;
- }
- option=GetNextImageOption(wand->image_info);
- }
- options[i]=(char *) NULL;
- *number_options=(size_t) i;
- return(options);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t O r i e n t a t i o n %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetOrientation() gets the wand orientation type.
- %
- % The format of the MagickGetOrientation method is:
- %
- % OrientationType MagickGetOrientation(MagickWand *wand)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport OrientationType MagickGetOrientation(MagickWand *wand)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- return(wand->image_info->orientation);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t P a c k a g e N a m e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetPackageName() returns the ImageMagick package name as a string
- % constant.
- %
- % The format of the MagickGetPackageName method is:
- %
- % const char *MagickGetPackageName(void)
- %
- %
- */
- WandExport const char *MagickGetPackageName(void)
- {
- return(GetMagickPackageName());
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t P a g e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetPage() returns the page geometry associated with the magick wand.
- %
- % The format of the MagickGetPage method is:
- %
- % MagickBooleanType MagickGetPage(const MagickWand *wand,
- % size_t *width,size_t *height,ssize_t *x,ssize_t *y)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o width: the page width.
- %
- % o height: page height.
- %
- % o x: the page x-offset.
- %
- % o y: the page y-offset.
- %
- */
- WandExport MagickBooleanType MagickGetPage(const MagickWand *wand,
- size_t *width,size_t *height,ssize_t *x,ssize_t *y)
- {
- RectangleInfo
- geometry;
- assert(wand != (const MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- (void) memset(&geometry,0,sizeof(geometry));
- (void) ParseAbsoluteGeometry(wand->image_info->page,&geometry);
- *width=geometry.width;
- *height=geometry.height;
- *x=geometry.x;
- *y=geometry.y;
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t P o i n t s i z e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetPointsize() returns the font pointsize associated with the
- % MagickWand.
- %
- % The format of the MagickGetPointsize method is:
- %
- % double MagickGetPointsize(MagickWand *wand)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport double MagickGetPointsize(MagickWand *wand)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- return(wand->image_info->pointsize);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t Q u a n t u m D e p t h %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetQuantumDepth() returns the ImageMagick quantum depth as a string
- % constant.
- %
- % The format of the MagickGetQuantumDepth method is:
- %
- % const char *MagickGetQuantumDepth(size_t *depth)
- %
- % A description of each parameter follows:
- %
- % o depth: the quantum depth is returned as a number.
- %
- */
- WandExport const char *MagickGetQuantumDepth(size_t *depth)
- {
- return(GetMagickQuantumDepth(depth));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t Q u a n t u m R a n g e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetQuantumRange() returns the ImageMagick quantum range as a string
- % constant.
- %
- % The format of the MagickGetQuantumRange method is:
- %
- % const char *MagickGetQuantumRange(size_t *range)
- %
- % A description of each parameter follows:
- %
- % o range: the quantum range is returned as a number.
- %
- */
- WandExport const char *MagickGetQuantumRange(size_t *range)
- {
- return(GetMagickQuantumRange(range));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t R e l e a s e D a t e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetReleaseDate() returns the ImageMagick release date as a string
- % constant.
- %
- % The format of the MagickGetReleaseDate method is:
- %
- % const char *MagickGetReleaseDate(void)
- %
- */
- WandExport const char *MagickGetReleaseDate(void)
- {
- return(GetMagickReleaseDate());
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t R e s o l u t i o n %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetResolution() gets the image X and Y resolution.
- %
- % The format of the MagickGetResolution method is:
- %
- % MagickBooleanType MagickGetResolution(const MagickWand *wand,double *x,
- % double *y)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o x: the x-resolution.
- %
- % o y: the y-resolution.
- %
- */
- WandExport MagickBooleanType MagickGetResolution(const MagickWand *wand,
- double *x,double *y)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- *x=72.0;
- *y=72.0;
- if (wand->image_info->density != (char *) NULL)
- {
- GeometryInfo
- geometry_info;
- MagickStatusType
- flags;
- flags=ParseGeometry(wand->image_info->density,&geometry_info);
- *x=geometry_info.rho;
- *y=geometry_info.sigma;
- if ((flags & SigmaValue) == 0)
- *y=(*x);
- }
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t R e s o u r c e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetResource() returns the specified resource in megabytes.
- %
- % The format of the MagickGetResource method is:
- %
- % MagickSizeType MagickGetResource(const ResourceType type)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport MagickSizeType MagickGetResource(const ResourceType type)
- {
- return(GetMagickResource(type));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t R e s o u r c e L i m i t %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetResourceLimit() returns the specified resource limit in megabytes.
- %
- % The format of the MagickGetResourceLimit method is:
- %
- % MagickSizeType MagickGetResourceLimit(const ResourceType type)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport MagickSizeType MagickGetResourceLimit(const ResourceType type)
- {
- return(GetMagickResourceLimit(type));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t S a m p l i n g F a c t o r s %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetSamplingFactors() gets the horizontal and vertical sampling factor.
- %
- % The format of the MagickGetSamplingFactors method is:
- %
- % double *MagickGetSamplingFactor(MagickWand *wand,
- % size_t *number_factors)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o number_factors: the number of factors in the returned array.
- %
- */
- WandExport double *MagickGetSamplingFactors(MagickWand *wand,
- size_t *number_factors)
- {
- double
- *sampling_factors;
- register const char
- *p;
- register ssize_t
- i;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- *number_factors=0;
- sampling_factors=(double *) NULL;
- if (wand->image_info->sampling_factor == (char *) NULL)
- return(sampling_factors);
- i=0;
- for (p=wand->image_info->sampling_factor; p != (char *) NULL; p=strchr(p,','))
- {
- while (((int) *p != 0) && ((isspace((int) ((unsigned char) *p)) != 0) ||
- (*p == ',')))
- p++;
- i++;
- }
- sampling_factors=(double *) AcquireQuantumMemory((size_t) i+1,
- sizeof(*sampling_factors));
- if (sampling_factors == (double *) NULL)
- ThrowWandFatalException(ResourceLimitFatalError,"MemoryAllocationFailed",
- wand->image_info->filename);
- i=0;
- for (p=wand->image_info->sampling_factor; p != (char *) NULL; p=strchr(p,','))
- {
- while (((int) *p != 0) && ((isspace((int) ((unsigned char) *p)) != 0) ||
- (*p == ',')))
- p++;
- sampling_factors[i]=StringToDouble(p,(char **) NULL);
- i++;
- }
- *number_factors=(size_t) i;
- return(sampling_factors);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t S i z e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetSize() returns the size associated with the magick wand.
- %
- % The format of the MagickGetSize method is:
- %
- % MagickBooleanType MagickGetSize(const MagickWand *wand,
- % size_t *columns,size_t *rows)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o columns: the width in pixels.
- %
- % o height: the height in pixels.
- %
- */
- WandExport MagickBooleanType MagickGetSize(const MagickWand *wand,
- size_t *columns,size_t *rows)
- {
- RectangleInfo
- geometry;
- assert(wand != (const MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- (void) memset(&geometry,0,sizeof(geometry));
- (void) ParseAbsoluteGeometry(wand->image_info->size,&geometry);
- *columns=geometry.width;
- *rows=geometry.height;
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t S i z e O f f s e t %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetSizeOffset() returns the size offset associated with the magick
- % wand.
- %
- % The format of the MagickGetSizeOffset method is:
- %
- % MagickBooleanType MagickGetSizeOffset(const MagickWand *wand,
- % ssize_t *offset)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o offset: the image offset.
- %
- */
- WandExport MagickBooleanType MagickGetSizeOffset(const MagickWand *wand,
- ssize_t *offset)
- {
- RectangleInfo
- geometry;
- assert(wand != (const MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- (void) memset(&geometry,0,sizeof(geometry));
- (void) ParseAbsoluteGeometry(wand->image_info->size,&geometry);
- *offset=geometry.x;
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t T y p e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetType() returns the wand type.
- %
- % The format of the MagickGetType method is:
- %
- % ImageType MagickGetType(MagickWand *wand)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- */
- WandExport ImageType MagickGetType(MagickWand *wand)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- return(wand->image_info->type);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k G e t V e r s i o n %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickGetVersion() returns the ImageMagick API version as a string constant
- % and as a number.
- %
- % The format of the MagickGetVersion method is:
- %
- % const char *MagickGetVersion(size_t *version)
- %
- % A description of each parameter follows:
- %
- % o version: the ImageMagick version is returned as a number.
- %
- */
- WandExport const char *MagickGetVersion(size_t *version)
- {
- return(GetMagickVersion(version));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k P r o f i l e I m a g e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickProfileImage() adds or removes a ICC, IPTC, or generic profile
- % from an image. If the profile is NULL, it is removed from the image
- % otherwise added. Use a name of '*' and a profile of NULL to remove all
- % profiles from the image.
- %
- % The format of the MagickProfileImage method is:
- %
- % MagickBooleanType MagickProfileImage(MagickWand *wand,const char *name,
- % const void *profile,const size_t length)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o name: Name of profile to add or remove: ICC, IPTC, or generic profile.
- %
- % o profile: the profile.
- %
- % o length: the length of the profile.
- %
- */
- WandExport MagickBooleanType MagickProfileImage(MagickWand *wand,
- const char *name,const void *profile,const size_t length)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->images == (Image *) NULL)
- ThrowWandException(WandError,"ContainsNoImages",wand->name);
- return(ProfileImage(wand->images,name,profile,length,wand->exception));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k R e m o v e I m a g e P r o f i l e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickRemoveImageProfile() removes the named image profile and returns it.
- %
- % The format of the MagickRemoveImageProfile method is:
- %
- % unsigned char *MagickRemoveImageProfile(MagickWand *wand,
- % const char *name,size_t *length)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o name: Name of profile to return: ICC, IPTC, or generic profile.
- %
- % o length: the length of the profile.
- %
- */
- WandExport unsigned char *MagickRemoveImageProfile(MagickWand *wand,
- const char *name,size_t *length)
- {
- StringInfo
- *profile;
- unsigned char
- *datum;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->images == (Image *) NULL)
- {
- (void) ThrowMagickException(wand->exception,GetMagickModule(),WandError,
- "ContainsNoImages","`%s'",wand->name);
- return((unsigned char *) NULL);
- }
- *length=0;
- profile=RemoveImageProfile(wand->images,name);
- if (profile == (StringInfo *) NULL)
- return((unsigned char *) NULL);
- datum=(unsigned char *) AcquireQuantumMemory(GetStringInfoLength(profile),
- sizeof(*datum));
- if (datum == (unsigned char *) NULL)
- return((unsigned char *) NULL);
- (void) memcpy(datum,GetStringInfoDatum(profile),
- GetStringInfoLength(profile));
- *length=GetStringInfoLength(profile);
- profile=DestroyStringInfo(profile);
- return(datum);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t A n t i a l i a s %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetAntialias() sets the antialias propery of the wand.
- %
- % The format of the MagickSetAntialias method is:
- %
- % MagickBooleanType MagickSetAntialias(MagickWand *wand,
- % const MagickBooleanType antialias)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o antialias: the antialias property.
- %
- */
- WandExport MagickBooleanType MagickSetAntialias(MagickWand *wand,
- const MagickBooleanType antialias)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- wand->image_info->antialias=antialias;
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t B a c k g r o u n d C o l o r %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetBackgroundColor() sets the wand background color.
- %
- % The format of the MagickSetBackgroundColor method is:
- %
- % MagickBooleanType MagickSetBackgroundColor(MagickWand *wand,
- % const PixelWand *background)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o background: the background pixel wand.
- %
- */
- WandExport MagickBooleanType MagickSetBackgroundColor(MagickWand *wand,
- const PixelWand *background)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- PixelGetQuantumPacket(background,&wand->image_info->background_color);
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t C o l o r s p a c e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetColorspace() sets the wand colorspace type.
- %
- % The format of the MagickSetColorspace method is:
- %
- % MagickBooleanType MagickSetColorspace(MagickWand *wand,
- % const ColorspaceType colorspace)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o colorspace: the wand colorspace.
- %
- */
- WandExport MagickBooleanType MagickSetColorspace(MagickWand *wand,
- const ColorspaceType colorspace)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- wand->image_info->colorspace=colorspace;
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t C o m p r e s s i o n %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetCompression() sets the wand compression type.
- %
- % The format of the MagickSetCompression method is:
- %
- % MagickBooleanType MagickSetCompression(MagickWand *wand,
- % const CompressionType compression)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o compression: the wand compression.
- %
- */
- WandExport MagickBooleanType MagickSetCompression(MagickWand *wand,
- const CompressionType compression)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- wand->image_info->compression=compression;
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t C o m p r e s s i o n Q u a l i t y %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetCompressionQuality() sets the wand compression quality.
- %
- % The format of the MagickSetCompressionQuality method is:
- %
- % MagickBooleanType MagickSetCompressionQuality(MagickWand *wand,
- % const size_t quality)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o quality: the wand compression quality.
- %
- */
- WandExport MagickBooleanType MagickSetCompressionQuality(MagickWand *wand,
- const size_t quality)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- wand->image_info->quality=quality;
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t D e p t h %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetDepth() sets the wand pixel depth.
- %
- % The format of the MagickSetDepth method is:
- %
- % MagickBooleanType MagickSetDepth(MagickWand *wand,
- % const size_t depth)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o depth: the wand pixel depth.
- %
- */
- WandExport MagickBooleanType MagickSetDepth(MagickWand *wand,
- const size_t depth)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- wand->image_info->depth=depth;
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t E x t r a c t %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetExtract() sets the extract geometry before you read or write an
- % image file. Use it for inline cropping (e.g. 200x200+0+0) or resizing
- % (e.g.200x200).
- %
- % The format of the MagickSetExtract method is:
- %
- % MagickBooleanType MagickSetExtract(MagickWand *wand,
- % const char *geometry)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o geometry: the extract geometry.
- %
- */
- WandExport MagickBooleanType MagickSetExtract(MagickWand *wand,
- const char *geometry)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- 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) CloneString(&wand->image_info->extract,geometry);
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t F i l e n a m e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetFilename() sets the filename before you read or write an image file.
- %
- % The format of the MagickSetFilename method is:
- %
- % MagickBooleanType MagickSetFilename(MagickWand *wand,
- % const char *filename)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o filename: the image filename.
- %
- */
- WandExport MagickBooleanType MagickSetFilename(MagickWand *wand,
- const char *filename)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (filename != (const char *) NULL)
- (void) CopyMagickString(wand->image_info->filename,filename,MagickPathExtent);
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t F o n t %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetFont() sets the font associated with the MagickWand.
- %
- % The format of the MagickSetFont method is:
- %
- % MagickBooleanType MagickSetFont(MagickWand *wand, const char *font)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o font: the font
- %
- */
- WandExport MagickBooleanType MagickSetFont(MagickWand *wand,const char *font)
- {
- if ((font == (const char *) NULL) || (*font == '\0'))
- return(MagickFalse);
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- (void) CloneString(&wand->image_info->font,font);
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t F o r m a t %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetFormat() sets the format of the magick wand.
- %
- % The format of the MagickSetFormat method is:
- %
- % MagickBooleanType MagickSetFormat(MagickWand *wand,const char *format)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o format: the image format.
- %
- */
- WandExport MagickBooleanType MagickSetFormat(MagickWand *wand,
- const char *format)
- {
- const MagickInfo
- *magick_info;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if ((format == (char *) NULL) || (*format == '\0'))
- {
- *wand->image_info->magick='\0';
- return(MagickTrue);
- }
- magick_info=GetMagickInfo(format,wand->exception);
- if (magick_info == (const MagickInfo *) NULL)
- return(MagickFalse);
- ClearMagickException(wand->exception);
- (void) CopyMagickString(wand->image_info->magick,format,MagickPathExtent);
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t G r a v i t y %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetGravity() sets the gravity type.
- %
- % The format of the MagickSetGravity type is:
- %
- % MagickBooleanType MagickSetGravity(MagickWand *wand,
- % const GravityType type)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o type: the gravity type.
- %
- */
- WandExport MagickBooleanType MagickSetGravity(MagickWand *wand,
- const GravityType type)
- {
- MagickBooleanType
- status;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- status=SetImageOption(wand->image_info,"gravity",CommandOptionToMnemonic(
- MagickGravityOptions,(ssize_t) type));
- return(status);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t I m a g e A r t i f r c t %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetImageArtifact() associates a artifact with an image.
- %
- % The format of the MagickSetImageArtifact method is:
- %
- % MagickBooleanType MagickSetImageArtifact(MagickWand *wand,
- % const char *artifact,const char *value)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o artifact: the artifact.
- %
- % o value: the value.
- %
- */
- WandExport MagickBooleanType MagickSetImageArtifact(MagickWand *wand,
- const char *artifact,const char *value)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->images == (Image *) NULL)
- ThrowWandException(WandError,"ContainsNoImages",wand->name);
- return(SetImageArtifact(wand->images,artifact,value));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t P r o f i l e I m a g e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetImageProfile() adds a named profile to the magick wand. If a
- % profile with the same name already exists, it is replaced. This method
- % differs from the MagickProfileImage() method in that it does not apply any
- % CMS color profiles.
- %
- % The format of the MagickSetImageProfile method is:
- %
- % MagickBooleanType MagickSetImageProfile(MagickWand *wand,
- % const char *name,const void *profile,const size_t length)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o name: Name of profile to add or remove: ICC, IPTC, or generic profile.
- %
- % o profile: the profile.
- %
- % o length: the length of the profile.
- %
- */
- WandExport MagickBooleanType MagickSetImageProfile(MagickWand *wand,
- const char *name,const void *profile,const size_t length)
- {
- MagickBooleanType
- status;
- StringInfo
- *profile_info;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->images == (Image *) NULL)
- ThrowWandException(WandError,"ContainsNoImages",wand->name);
- profile_info=AcquireStringInfo((size_t) length);
- SetStringInfoDatum(profile_info,(unsigned char *) profile);
- status=SetImageProfile(wand->images,name,profile_info,wand->exception);
- profile_info=DestroyStringInfo(profile_info);
- return(status);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t I m a g e P r o p e r t y %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetImageProperty() associates a property with an image.
- %
- % The format of the MagickSetImageProperty method is:
- %
- % MagickBooleanType MagickSetImageProperty(MagickWand *wand,
- % const char *property,const char *value)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o property: the property.
- %
- % o value: the value.
- %
- */
- WandExport MagickBooleanType MagickSetImageProperty(MagickWand *wand,
- const char *property,const char *value)
- {
- MagickBooleanType
- status;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->images == (Image *) NULL)
- ThrowWandException(WandError,"ContainsNoImages",wand->name);
- status=SetImageProperty(wand->images,property,value,wand->exception);
- return(status);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t I n t e r l a c e S c h e m e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetInterlaceScheme() sets the image compression.
- %
- % The format of the MagickSetInterlaceScheme method is:
- %
- % MagickBooleanType MagickSetInterlaceScheme(MagickWand *wand,
- % const InterlaceType interlace_scheme)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o interlace_scheme: the image interlace scheme: NoInterlace, LineInterlace,
- % PlaneInterlace, PartitionInterlace.
- %
- */
- WandExport MagickBooleanType MagickSetInterlaceScheme(MagickWand *wand,
- const InterlaceType interlace_scheme)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- wand->image_info->interlace=interlace_scheme;
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t I n t e r p o l a t e M e t h o d %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetInterpolateMethod() sets the interpolate pixel method.
- %
- % The format of the MagickSetInterpolateMethod method is:
- %
- % MagickBooleanType MagickSetInterpolateMethod(MagickWand *wand,
- % const InterpolateMethodPixel method)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o method: the interpolate pixel method.
- %
- */
- WandExport MagickBooleanType MagickSetInterpolateMethod(MagickWand *wand,
- const PixelInterpolateMethod method)
- {
- MagickBooleanType
- status;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- status=SetImageOption(wand->image_info,"interpolate",
- CommandOptionToMnemonic(MagickInterpolateOptions,(ssize_t) method));
- return(status);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t O p t i o n %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetOption() associates one or options with the wand (.e.g
- % MagickSetOption(wand,"jpeg:perserve","yes")).
- %
- % The format of the MagickSetOption method is:
- %
- % MagickBooleanType MagickSetOption(MagickWand *wand,const char *key,
- % const char *value)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o key: The key.
- %
- % o value: The value.
- %
- */
- WandExport MagickBooleanType MagickSetOption(MagickWand *wand,const char *key,
- const char *value)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- return(SetImageOption(wand->image_info,key,value));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t O r i e n t a t i o n %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetOrientation() sets the wand orientation type.
- %
- % The format of the MagickSetOrientation method is:
- %
- % MagickBooleanType MagickSetOrientation(MagickWand *wand,
- % const OrientationType orientation)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o orientation: the wand orientation.
- %
- */
- WandExport MagickBooleanType MagickSetOrientation(MagickWand *wand,
- const OrientationType orientation)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- wand->image_info->orientation=orientation;
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t P a g e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetPage() sets the page geometry of the magick wand.
- %
- % The format of the MagickSetPage method is:
- %
- % MagickBooleanType MagickSetPage(MagickWand *wand,
- % const size_t width,const size_t height,const ssize_t x,
- % const ssize_t y)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o width: the page width.
- %
- % o height: the page height.
- %
- % o x: the page x-offset.
- %
- % o y: the page y-offset.
- %
- */
- WandExport MagickBooleanType MagickSetPage(MagickWand *wand,
- const size_t width,const size_t height,const ssize_t x,
- const ssize_t y)
- {
- char
- geometry[MagickPathExtent];
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- (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);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t P a s s p h r a s e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetPassphrase() sets the passphrase.
- %
- % The format of the MagickSetPassphrase method is:
- %
- % MagickBooleanType MagickSetPassphrase(MagickWand *wand,
- % const char *passphrase)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o passphrase: the passphrase.
- %
- */
- WandExport MagickBooleanType MagickSetPassphrase(MagickWand *wand,
- const char *passphrase)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- (void) SetImageOption(wand->image_info,"authenticate",passphrase);
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t P o i n t s i z e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetPointsize() sets the font pointsize associated with the MagickWand.
- %
- % The format of the MagickSetPointsize method is:
- %
- % MagickBooleanType MagickSetPointsize(MagickWand *wand,
- % const double pointsize)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o pointsize: the size of the font
- %
- */
- WandExport MagickBooleanType MagickSetPointsize(MagickWand *wand,
- const double pointsize)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- wand->image_info->pointsize=pointsize;
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t P r o g r e s s M o n i t o r %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetProgressMonitor() sets the wand progress monitor to the specified
- % method and returns the previous progress monitor if any. The progress
- % monitor method looks like this:
- %
- % MagickBooleanType MagickProgressMonitor(const char *text,
- % const MagickOffsetType offset,const MagickSizeType span,
- % void *client_data)
- %
- % If the progress monitor returns MagickFalse, the current operation is
- % interrupted.
- %
- % The format of the MagickSetProgressMonitor method is:
- %
- % MagickProgressMonitor MagickSetProgressMonitor(MagickWand *wand
- % const MagickProgressMonitor progress_monitor,void *client_data)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o progress_monitor: Specifies a pointer to a method to monitor progress
- % of an image operation.
- %
- % o client_data: Specifies a pointer to any client data.
- %
- */
- WandExport MagickProgressMonitor MagickSetProgressMonitor(MagickWand *wand,
- const MagickProgressMonitor progress_monitor,void *client_data)
- {
- MagickProgressMonitor
- previous_monitor;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- previous_monitor=SetImageInfoProgressMonitor(wand->image_info,
- progress_monitor,client_data);
- return(previous_monitor);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t R e s o u r c e L i m i t %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetResourceLimit() sets the limit for a particular resource in
- % megabytes.
- %
- % The format of the MagickSetResourceLimit method is:
- %
- % MagickBooleanType MagickSetResourceLimit(const ResourceType type,
- % const MagickSizeType limit)
- %
- % A description of each parameter follows:
- %
- % o type: the type of resource: AreaResource, MemoryResource, MapResource,
- % DiskResource, FileResource.
- %
- % o The maximum limit for the resource.
- %
- */
- WandExport MagickBooleanType MagickSetResourceLimit(const ResourceType type,
- const MagickSizeType limit)
- {
- return(SetMagickResourceLimit(type,limit));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t R e s o l u t i o n %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetResolution() sets the image resolution.
- %
- % The format of the MagickSetResolution method is:
- %
- % MagickBooleanType MagickSetResolution(MagickWand *wand,
- % const double x_resolution,const double y_resolution)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o x_resolution: the image x resolution.
- %
- % o y_resolution: the image y resolution.
- %
- */
- WandExport MagickBooleanType MagickSetResolution(MagickWand *wand,
- const double x_resolution,const double y_resolution)
- {
- char
- density[MagickPathExtent];
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- (void) FormatLocaleString(density,MagickPathExtent,"%gx%g",x_resolution,
- y_resolution);
- (void) CloneString(&wand->image_info->density,density);
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t S a m p l i n g F a c t o r s %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetSamplingFactors() sets the image sampling factors.
- %
- % The format of the MagickSetSamplingFactors method is:
- %
- % MagickBooleanType MagickSetSamplingFactors(MagickWand *wand,
- % const size_t number_factors,const double *sampling_factors)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o number_factoes: the number of factors.
- %
- % o sampling_factors: An array of doubles representing the sampling factor
- % for each color component (in RGB order).
- %
- */
- WandExport MagickBooleanType MagickSetSamplingFactors(MagickWand *wand,
- const size_t number_factors,const double *sampling_factors)
- {
- char
- sampling_factor[MagickPathExtent];
- register ssize_t
- i;
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- if (wand->image_info->sampling_factor != (char *) NULL)
- wand->image_info->sampling_factor=(char *)
- RelinquishMagickMemory(wand->image_info->sampling_factor);
- if (number_factors == 0)
- return(MagickTrue);
- for (i=0; i < (ssize_t) (number_factors-1); i++)
- {
- (void) FormatLocaleString(sampling_factor,MagickPathExtent,"%g,",
- sampling_factors[i]);
- (void) ConcatenateString(&wand->image_info->sampling_factor,
- sampling_factor);
- }
- (void) FormatLocaleString(sampling_factor,MagickPathExtent,"%g",
- sampling_factors[i]);
- (void) ConcatenateString(&wand->image_info->sampling_factor,sampling_factor);
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t S e e d %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetSeed() sets the pseudo-random number generator seed. Use it to
- % generate a pedictable sequence of random numbers.
- %
- % The format of the MagickSetSeed method is:
- %
- % void MagickSetSeed(const unsigned long seed)
- %
- % A description of each parameter follows:
- %
- % o seed: the seed.
- %
- */
- WandExport void MagickSetSeed(const unsigned long seed)
- {
- SetRandomSecretKey(seed);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t S e c u r i t y P o l i c y %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetSecurityPolicy() sets the ImageMagick security policy. It returns
- % MagickFalse if the policy is already set or if the policy does not parse.
- %
- % The format of the MagickSetAntialias method is:
- %
- % MagickBooleanType MagickSetAntialias(MagickWand *wand,
- % const char *policy)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o policy: the security policy in the XML format.
- %
- */
- WandExport MagickBooleanType MagickSetSecurityPolicy(MagickWand *wand,
- const char *policy)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- return(SetMagickSecurityPolicy(policy,wand->exception));
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t S i z e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetSize() sets the size of the magick wand. Set it before you
- % read a raw image format such as RGB, GRAY, or CMYK.
- %
- % The format of the MagickSetSize method is:
- %
- % MagickBooleanType MagickSetSize(MagickWand *wand,
- % const size_t columns,const size_t rows)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o columns: the width in pixels.
- %
- % o rows: the rows in pixels.
- %
- */
- WandExport MagickBooleanType MagickSetSize(MagickWand *wand,
- const size_t columns,const size_t rows)
- {
- char
- geometry[MagickPathExtent];
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- (void) FormatLocaleString(geometry,MagickPathExtent,"%.20gx%.20g",(double)
- columns,(double) rows);
- (void) CloneString(&wand->image_info->size,geometry);
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t S i z e O f f s e t %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetSizeOffset() sets the size and offset of the magick wand. Set it
- % before you read a raw image format such as RGB, GRAY, or CMYK.
- %
- % The format of the MagickSetSizeOffset method is:
- %
- % MagickBooleanType MagickSetSizeOffset(MagickWand *wand,
- % const size_t columns,const size_t rows,
- % const ssize_t offset)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o columns: the image width in pixels.
- %
- % o rows: the image rows in pixels.
- %
- % o offset: the image offset.
- %
- */
- WandExport MagickBooleanType MagickSetSizeOffset(MagickWand *wand,
- const size_t columns,const size_t rows,const ssize_t offset)
- {
- char
- geometry[MagickPathExtent];
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- (void) FormatLocaleString(geometry,MagickPathExtent,"%.20gx%.20g%+.20g",
- (double) columns,(double) rows,(double) offset);
- (void) CloneString(&wand->image_info->size,geometry);
- return(MagickTrue);
- }
- /*
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % %
- % %
- % %
- % M a g i c k S e t T y p e %
- % %
- % %
- % %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % MagickSetType() sets the image type attribute.
- %
- % The format of the MagickSetType method is:
- %
- % MagickBooleanType MagickSetType(MagickWand *wand,
- % const ImageType image_type)
- %
- % A description of each parameter follows:
- %
- % o wand: the magick wand.
- %
- % o image_type: the image type: UndefinedType, BilevelType, GrayscaleType,
- % GrayscaleAlphaType, PaletteType, PaletteAlphaType, TrueColorType,
- % TrueColorAlphaType, ColorSeparationType, ColorSeparationAlphaType,
- % or OptimizeType.
- %
- */
- WandExport MagickBooleanType MagickSetType(MagickWand *wand,
- const ImageType image_type)
- {
- assert(wand != (MagickWand *) NULL);
- assert(wand->signature == MagickWandSignature);
- if (wand->debug != MagickFalse)
- (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
- wand->image_info->type=image_type;
- return(MagickTrue);
- }