void Magick::Image::channel ( const ChannelType channel_ )
{
modifyImage();
- SeparateImageChannel ( image(), channel_ );
+ PushPixelComponentMap( image(), channel_ );
+ SeparateImage ( image() );
+ PopPixelComponentMap( image() );
throwImageException();
}
using MagickCore::SampleImage;
using MagickCore::ScaleImage;
using MagickCore::SegmentImage;
- using MagickCore::SeparateImageChannel;
+ using MagickCore::SeparateImage;
using MagickCore::SetClientName;
using MagickCore::SetGeometry;
using MagickCore::SetImageBackgroundColor;
*resize_alpha;
/* distort alpha channel separately */
- (void) SeparateImageChannel(tmp_image,TrueAlphaChannel);
+ PushPixelComponentMap(tmp_image,AlphaChannel);
+ (void) SeparateImage(tmp_image);
+ PopPixelComponentMap(tmp_image);
(void) SetImageAlphaChannel(tmp_image,OpaqueAlphaChannel);
resize_alpha=DistortImage(tmp_image,AffineDistortion,12,distort_args,
- MagickTrue,exception),
+ MagickTrue,exception),
tmp_image=DestroyImage(tmp_image);
- if ( resize_alpha == (Image *) NULL )
+ if (resize_alpha == (Image *) NULL)
return((Image *) NULL);
/* distort the actual image containing alpha + VP alpha */
if ( tmp_image == (Image *) NULL )
return((Image *) NULL);
(void) SetImageVirtualPixelMethod(tmp_image,
- TransparentVirtualPixelMethod);
+ TransparentVirtualPixelMethod);
resize_image=DistortImage(tmp_image,AffineDistortion,12,distort_args,
- MagickTrue,exception),
+ MagickTrue,exception),
tmp_image=DestroyImage(tmp_image);
if ( resize_image == (Image *) NULL)
{
resize_alpha=DestroyImage(resize_alpha);
return((Image *) NULL);
}
-
/* replace resize images alpha with the separally distorted alpha */
(void) SetImageAlphaChannel(resize_image,DeactivateAlphaChannel);
(void) SetImageAlphaChannel(resize_alpha,DeactivateAlphaChannel);
%
% The format of the CombineImages method is:
%
-% Image *CombineImages(const Image *image,const ChannelType channel,
-% ExceptionInfo *exception)
+% Image *CombineImages(const Image *image,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
% o exception: return any errors or warnings in this structure.
%
*/
-MagickExport Image *CombineImages(const Image *image,const ChannelType channel,
- ExceptionInfo *exception)
+MagickExport Image *CombineImages(const Image *image,ExceptionInfo *exception)
{
#define CombineImageTag "Combine/Image"
{
SetPixelRed(image,GetPixelIntensity(image,p),q);
p+=GetPixelComponents(image);
- q++;
+ q+=GetPixelComponents(combine_image);
}
image_view=DestroyCacheView(image_view);
next=GetNextImageInList(next);
{
SetPixelGreen(image,GetPixelIntensity(image,p),q);
p+=GetPixelComponents(image);
- q++;
+ q+=GetPixelComponents(combine_image);
}
image_view=DestroyCacheView(image_view);
next=GetNextImageInList(next);
{
SetPixelBlue(image,GetPixelIntensity(image,p),q);
p+=GetPixelComponents(image);
- q++;
+ q+=GetPixelComponents(combine_image);
}
image_view=DestroyCacheView(image_view);
next=GetNextImageInList(next);
{
SetPixelBlack(image,GetPixelIntensity(image,p),q);
p+=GetPixelComponents(image);
- q++;
+ q+=GetPixelComponents(combine_image);
}
image_view=DestroyCacheView(image_view);
next=GetNextImageInList(next);
{
SetPixelAlpha(image,GetPixelIntensity(image,p),q);
p+=GetPixelComponents(image);
- q++;
+ q+=GetPixelComponents(combine_image);
}
image_view=DestroyCacheView(image_view);
next=GetNextImageInList(next);
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% SeparateImageChannel() separates a channel from the image and returns it as
+% SeparateImage() separates a channel from the image and returns it as
% a grayscale image. A channel is a particular color component of each pixel
% in the image.
%
-% The format of the SeparateImageChannel method is:
+% The format of the SeparateImage method is:
%
-% MagickBooleanType SeparateImageChannel(Image *image,
-% const ChannelType channel)
+% MagickBooleanType SeparateImage(Image *image)
%
% A description of each parameter follows:
%
% o image: the image.
%
-% o channel: Identify which channel to extract: RedChannel, GreenChannel,
-% BlueChannel, AlphaChannel, CyanChannel, MagentaChannel,
-% YellowChannel, or BlackChannel.
-%
*/
-MagickExport MagickBooleanType SeparateImageChannel(Image *image,
- const ChannelType channel)
+MagickExport MagickBooleanType SeparateImage(Image *image)
{
#define SeparateImageTag "Separate/Image"
Separate image channels.
*/
status=MagickTrue;
- if (channel == GrayChannels)
- image->matte=MagickTrue;
progress=0;
exception=(&image->exception);
image_view=AcquireCacheView(image);
status=MagickFalse;
continue;
}
- switch (channel)
+ for (x=0; x < (ssize_t) image->columns; x++)
{
- case RedChannel:
- {
- for (x=0; x < (ssize_t) image->columns; x++)
+ if ((GetPixelRedTraits(image) & ActivePixelTrait) != 0)
{
SetPixelGreen(image,GetPixelRed(image,q),q);
SetPixelBlue(image,GetPixelRed(image,q),q);
- q+=GetPixelComponents(image);
}
- break;
- }
- case GreenChannel:
- {
- for (x=0; x < (ssize_t) image->columns; x++)
+ if ((GetPixelGreenTraits(image) & ActivePixelTrait) != 0)
{
SetPixelRed(image,GetPixelGreen(image,q),q);
SetPixelBlue(image,GetPixelGreen(image,q),q);
- q+=GetPixelComponents(image);
}
- break;
- }
- case BlueChannel:
- {
- for (x=0; x < (ssize_t) image->columns; x++)
+ if ((GetPixelBlueTraits(image) & ActivePixelTrait) != 0)
{
SetPixelRed(image,GetPixelBlue(image,q),q);
SetPixelGreen(image,GetPixelBlue(image,q),q);
- q+=GetPixelComponents(image);
- }
- break;
- }
- case AlphaChannel:
- {
- for (x=0; x < (ssize_t) image->columns; x++)
- {
- SetPixelRed(image,GetPixelAlpha(image,q),q);
- SetPixelGreen(image,GetPixelAlpha(image,q),q);
- SetPixelBlue(image,GetPixelAlpha(image,q),q);
- q+=GetPixelComponents(image);
}
- break;
- }
- case BlackChannel:
- {
- if ((image->storage_class != PseudoClass) &&
- (image->colorspace != CMYKColorspace))
- break;
- for (x=0; x < (ssize_t) image->columns; x++)
+ if (((GetPixelBlackTraits(image) & ActivePixelTrait) != 0) &&
+ (image->colorspace == CMYKColorspace))
{
SetPixelRed(image,GetPixelBlack(image,q),q);
SetPixelGreen(image,GetPixelBlack(image,q),q);
SetPixelBlue(image,GetPixelBlack(image,q),q);
- q+=GetPixelComponents(image);
}
- break;
- }
- case TrueAlphaChannel:
- {
- for (x=0; x < (ssize_t) image->columns; x++)
+ if (((GetPixelAlphaTraits(image) & ActivePixelTrait) != 0) &&
+ (image->matte != MagickFalse))
{
SetPixelRed(image,GetPixelAlpha(image,q),q);
SetPixelGreen(image,GetPixelAlpha(image,q),q);
SetPixelBlue(image,GetPixelAlpha(image,q),q);
- q+=GetPixelComponents(image);
}
- break;
- }
- case GrayChannels:
- {
- for (x=0; x < (ssize_t) image->columns; x++)
- {
- SetPixelAlpha(image,GetPixelIntensity(image,q),q);
- q+=GetPixelComponents(image);
- }
- break;
- }
- default:
- break;
+ q+=GetPixelComponents(image);
}
if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse)
status=MagickFalse;
proceed;
#if defined(MAGICKCORE_OPENMP_SUPPORT)
- #pragma omp critical (MagickCore_SeparateImageChannel)
+ #pragma omp critical (MagickCore_SeparateImage)
#endif
proceed=SetImageProgress(image,SeparateImageTag,progress++,image->rows);
if (proceed == MagickFalse)
}
}
image_view=DestroyCacheView(image_view);
- if (channel != GrayChannels)
- image->matte=MagickFalse;
(void) SetImageColorspace(image,RGBColorspace);
return(status);
}
% The format of the SeparateImages method is:
%
% MagickBooleanType SeparateImages(const Image *image,
-% const ChannelType channel,ExceptionInfo *exception)
+% ExceptionInfo *exception)
%
% A description of each parameter follows:
%
% o image: the image.
%
-% o channel: Identify which channels to extract: RedChannel, GreenChannel,
-% BlueChannel, AlphaChannel, CyanChannel, MagentaChannel,
-% YellowChannel, or BlackChannel.
-%
% o exception: return any errors or warnings in this structure.
%
*/
-MagickExport Image *SeparateImages(const Image *image,const ChannelType channel,
- ExceptionInfo *exception)
+MagickExport Image *SeparateImages(const Image *image,ExceptionInfo *exception)
{
Image
*images,
if ((GetPixelRedTraits(image) & ActivePixelTrait) != 0)
{
separate_image=CloneImage(image,0,0,MagickTrue,exception);
- (void) SeparateImageChannel(separate_image,RedChannel);
+ PushPixelComponentMap(separate_image,RedChannel);
+ (void) SeparateImage(separate_image);
+ PopPixelComponentMap(separate_image);
AppendImageToList(&images,separate_image);
}
if ((GetPixelGreenTraits(image) & ActivePixelTrait) != 0)
{
separate_image=CloneImage(image,0,0,MagickTrue,exception);
- (void) SeparateImageChannel(separate_image,GreenChannel);
+ PushPixelComponentMap(separate_image,GreenChannel);
+ (void) SeparateImage(separate_image);
+ PopPixelComponentMap(separate_image);
AppendImageToList(&images,separate_image);
}
if ((GetPixelBlueTraits(image) & ActivePixelTrait) != 0)
{
separate_image=CloneImage(image,0,0,MagickTrue,exception);
- (void) SeparateImageChannel(separate_image,BlueChannel);
+ PushPixelComponentMap(separate_image,BlueChannel);
+ (void) SeparateImage(separate_image);
+ PopPixelComponentMap(separate_image);
AppendImageToList(&images,separate_image);
}
- if (((GetPixelBlackTraits(image) & ActivePixelTrait) != 0) && (image->colorspace == CMYKColorspace))
+ if (((GetPixelBlackTraits(image) & ActivePixelTrait) != 0) &&
+ (image->colorspace == CMYKColorspace))
{
separate_image=CloneImage(image,0,0,MagickTrue,exception);
- (void) SeparateImageChannel(separate_image,BlackChannel);
+ PushPixelComponentMap(separate_image,BlackChannel);
+ (void) SeparateImage(separate_image);
+ PopPixelComponentMap(separate_image);
AppendImageToList(&images,separate_image);
}
if ((GetPixelAlphaTraits(image) & ActivePixelTrait) != 0)
{
separate_image=CloneImage(image,0,0,MagickTrue,exception);
- (void) SeparateImageChannel(separate_image,AlphaChannel);
+ PushPixelComponentMap(separate_image,AlphaChannel);
+ (void) SeparateImage(separate_image);
+ PopPixelComponentMap(separate_image);
AppendImageToList(&images,separate_image);
}
return(images);
case CopyAlphaChannel:
{
/*
- Special usage case for SeparateImageChannel(): copy grayscale color to
+ Special usage case for SeparateImage(): copy grayscale color to
the alpha channel.
*/
- status=SeparateImageChannel(image,GrayChannels);
+ PushPixelComponentMap(image,GrayChannel);
+ status=SeparateImage(image);
+ PopPixelComponentMap(image);
image->matte=MagickTrue; /* make sure transparency is now on! */
if (alpha_type == ShapeAlphaChannel)
{
}
case ExtractAlphaChannel:
{
- status=SeparateImageChannel(image,TrueAlphaChannel);
+ PushPixelComponentMap(image,AlphaChannel);
+ status=SeparateImage(image);
+ PopPixelComponentMap(image);
image->matte=MagickFalse;
break;
}
*AppendImages(const Image *,const MagickBooleanType,ExceptionInfo *),
*CloneImage(const Image *,const size_t,const size_t,const MagickBooleanType,
ExceptionInfo *),
- *CombineImages(const Image *,const ChannelType,ExceptionInfo *),
+ *CombineImages(const Image *,ExceptionInfo *),
*DestroyImage(Image *),
*GetImageClipMask(const Image *,ExceptionInfo *),
*GetImageMask(const Image *,ExceptionInfo *),
*NewMagickImage(const ImageInfo *,const size_t,const size_t,
const PixelInfo *),
*ReferenceImage(Image *),
- *SeparateImages(const Image *,const ChannelType,ExceptionInfo *),
+ *SeparateImages(const Image *,ExceptionInfo *),
*SmushImages(const Image *,const MagickBooleanType,const ssize_t,
ExceptionInfo *);
ListMagickInfo(FILE *,ExceptionInfo *),
ModifyImage(Image **,ExceptionInfo *),
ResetImagePage(Image *,const char *),
- SeparateImageChannel(Image *,const ChannelType),
+ SeparateImage(Image *),
SetImageAlphaChannel(Image *,const AlphaChannelType),
SetImageBackgroundColor(Image *),
SetImageClipMask(Image *,const Image *),
/* #undef AUTOTRACE_DELEGATE */
/* Define if coders and filters are to be built as modules. */
-/* #undef BUILD_MODULES */
+#ifndef MAGICKCORE_BUILD_MODULES
+#define MAGICKCORE_BUILD_MODULES 1
+#endif
/* Define if you have the bzip2 library */
#ifndef MAGICKCORE_BZLIB_DELEGATE
#endif
/* Define if you have FFTW library */
-/* #undef FFTW_DELEGATE */
+#ifndef MAGICKCORE_FFTW_DELEGATE
+#define MAGICKCORE_FFTW_DELEGATE 1
+#endif
/* Location of filter modules */
#ifndef MAGICKCORE_FILTER_PATH
#endif
/* Define if you have the <lcms2.h> header file. */
-#ifndef MAGICKCORE_HAVE_LCMS2_H
-#define MAGICKCORE_HAVE_LCMS2_H 1
-#endif
+/* #undef HAVE_LCMS2_H */
/* Define if you have the <lcms2/lcms2.h> header file. */
/* #undef HAVE_LCMS2_LCMS2_H */
/* Define if you have the <lcms.h> header file. */
-/* #undef HAVE_LCMS_H */
+#ifndef MAGICKCORE_HAVE_LCMS_H
+#define MAGICKCORE_HAVE_LCMS_H 1
+#endif
/* Define if you have the <lcms/lcms.h> header file. */
/* #undef HAVE_LCMS_LCMS_H */
#endif
/* Define if you have JBIG library */
-/* #undef JBIG_DELEGATE */
+#ifndef MAGICKCORE_JBIG_DELEGATE
+#define MAGICKCORE_JBIG_DELEGATE 1
+#endif
/* Define if you have JPEG version 2 "Jasper" library */
#ifndef MAGICKCORE_JP2_DELEGATE
#endif
/* Define if you have LQR library */
-/* #undef LQR_DELEGATE */
+#ifndef MAGICKCORE_LQR_DELEGATE
+#define MAGICKCORE_LQR_DELEGATE 1
+#endif
/* Define if using libltdl to support dynamically loadable modules */
#ifndef MAGICKCORE_LTDL_DELEGATE
/* Define to the system default library search path. */
#ifndef MAGICKCORE_LT_DLSEARCH_PATH
-#define MAGICKCORE_LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/atlas:/usr/lib64/mysql:/usr/lib64/qt-3.3/lib:/usr/lib64/tcl8.5/tclx8.4:/usr/lib64/tcl8.5:/usr/lib/wine/:/usr/lib64/wine/:/usr/lib64/xulrunner-2"
+#define MAGICKCORE_LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/R/lib:/usr/lib64/atlas:/opt/modules/pkg/intel/f77/10.0.025/lib:/usr/local/lib:/usr/lib64/mysql:/usr/lib64/qt-3.3/lib:/usr/lib64/xulrunner-2"
#endif
/* The archive extension */
/* #undef NO_MINUS_C_MINUS_O */
/* Define if you have OPENEXR library */
-/* #undef OPENEXR_DELEGATE */
+#ifndef MAGICKCORE_OPENEXR_DELEGATE
+#define MAGICKCORE_OPENEXR_DELEGATE 1
+#endif
/* Define to the address where bug reports for this package should be sent. */
#ifndef MAGICKCORE_PACKAGE_BUGREPORT
#endif
/* Define if you have RSVG library */
-/* #undef RSVG_DELEGATE */
+#ifndef MAGICKCORE_RSVG_DELEGATE
+#define MAGICKCORE_RSVG_DELEGATE 1
+#endif
/* Define to the type of arg 1 for `select'. */
#ifndef MAGICKCORE_SELECT_TYPE_ARG1
/* Define if you have WEBP library */
-/* #undef WEBP_DELEGATE */
+#ifndef MAGICKCORE_WEBP_DELEGATE
+#define MAGICKCORE_WEBP_DELEGATE 1
+#endif
/* Define to use the Windows GDI32 library */
/* #undef WINGDI32_DELEGATE */
/* #undef WITH_DMALLOC */
/* Define if you have WMF library */
-/* #undef WMF_DELEGATE */
+#ifndef MAGICKCORE_WMF_DELEGATE
+#define MAGICKCORE_WMF_DELEGATE 1
+#endif
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#define SelectiveBlurImage PrependMagickMethod(SelectiveBlurImage)
#define SemaphoreComponentGenesis PrependMagickMethod(SemaphoreComponentGenesis)
#define SemaphoreComponentTerminus PrependMagickMethod(SemaphoreComponentTerminus)
-#define SeparateImageChannel PrependMagickMethod(SeparateImageChannel)
+#define SeparateImage PrependMagickMethod(SeparateImage)
#define SeparateImages PrependMagickMethod(SeparateImages)
#define SepiaToneImage PrependMagickMethod(SepiaToneImage)
#define SetBlobExempt PrependMagickMethod(SetBlobExempt)
*/
#define MagickPackageName "ImageMagick"
#define MagickCopyright "Copyright (C) 1999-2011 ImageMagick Studio LLC"
-#define MagickSVNRevision "4739"
+#define MagickSVNRevision "exported"
#define MagickLibVersion 0x700
#define MagickLibVersionText "7.0.0"
#define MagickLibVersionNumber 5,0,0
%
% The format of the MagickCombineImages method is:
%
-% MagickWand *MagickCombineImages(MagickWand *wand,
-% const ChannelType channel)
+% MagickWand *MagickCombineImages(MagickWand *wand)
%
% A description of each parameter follows:
%
% o wand: the magick wand.
%
-% o channel: the channel.
-%
*/
-WandExport MagickWand *MagickCombineImages(MagickWand *wand,
- const ChannelType channel)
+WandExport MagickWand *MagickCombineImages(MagickWand *wand)
{
Image
*combine_image;
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
if (wand->images == (Image *) NULL)
return((MagickWand *) NULL);
- combine_image=CombineImages(wand->images,channel,wand->exception);
+ combine_image=CombineImages(wand->images,wand->exception);
if (combine_image == (Image *) NULL)
return((MagickWand *) NULL);
return(CloneMagickWandFromImages(wand,combine_image));
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% MagickSeparateImageChannel() separates a channel from the image and returns a
+% MagickSeparateImage() separates a channel from the image and returns a
% grayscale image. A channel is a particular color component of each pixel
% in the image.
%
-% The format of the MagickSeparateImageChannel method is:
+% The format of the MagickSeparateImage method is:
%
-% MagickBooleanType MagickSeparateImageChannel(MagickWand *wand,
-% const ChannelType channel)
+% MagickBooleanType MagickSeparateImage(MagickWand *wand)
%
% A description of each parameter follows:
%
% o wand: the magick wand.
%
-% o channel: the image channel(s).
-%
*/
-WandExport MagickBooleanType MagickSeparateImageChannel(MagickWand *wand,
- const ChannelType channel)
+WandExport MagickBooleanType MagickSeparateImage(MagickWand *wand)
{
MagickBooleanType
status;
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
if (wand->images == (Image *) NULL)
ThrowWandException(WandError,"ContainsNoImages",wand->name);
- status=SeparateImageChannel(wand->images,channel);
+ status=SeparateImage(wand->images);
if (status == MagickFalse)
InheritException(wand->exception,&wand->images->exception);
return(status);
MagickSelectiveBlurImage(MagickWand *,const double,const double,const double),
MagickSelectiveBlurImageChannel(MagickWand *,const ChannelType,const double,
const double,const double),
- MagickSeparateImageChannel(MagickWand *,const ChannelType),
+ MagickSeparateImage(MagickWand *),
MagickSepiaToneImage(MagickWand *,const double),
MagickSetImage(MagickWand *,const MagickWand *),
MagickSetImageAlphaChannel(MagickWand *,const AlphaChannelType),
extern WandExport MagickWand
*MagickAppendImages(MagickWand *,const MagickBooleanType),
*MagickCoalesceImages(MagickWand *),
- *MagickCombineImages(MagickWand *,const ChannelType),
+ *MagickCombineImages(MagickWand *),
*MagickCompareImages(MagickWand *,const MagickWand *,const MetricType,
double *),
*MagickCompareImagesLayers(MagickWand *,const ImageLayerMethod),
{
/*
Break channels into separate images.
- WARNING: This can generate multiple images!
*/
(void) SyncImageSettings(mogrify_info,*image);
- mogrify_image=SeparateImages(*image,channel,exception);
+ mogrify_image=SeparateImages(*image,exception);
break;
}
if (LocaleCompare("sepia-tone",option+1) == 0)
*combine_image;
(void) SyncImagesSettings(mogrify_info,*images);
- combine_image=CombineImages(*images,channel,exception);
+ combine_image=CombineImages(*images,exception);
if (combine_image == (Image *) NULL)
{
status=MagickFalse;
{
if (attribute_flag[0] != 0)
channel=(ChannelType) argument_list[0].integer_reference;
- (void) SeparateImageChannel(image,channel);
+ PushPixelComponentMap(image,channel);
+ (void) SeparateImage(image,channel);
+ PopPixelComponentMap(image);
break;
}
case 63: /* Stereo */
{
if (attribute_flag[0] != 0)
channel=(ChannelType) argument_list[0].integer_reference;
- (void) SeparateImageChannel(image,channel);
+ PushPixelComponentMap(image,channel);
+ (void) SeparateImage(image,channel);
+ PopPixelComponentMap(image);
break;
}
case 87: /* Splice */
ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed");
(void) CopyMagickString(jpeg_image->magick,"JPEG",MaxTextExtent);
- status=SeparateImageChannel(jpeg_image,AlphaChannel);
+ PushPixelComponentMap(jpeg_image,AlphaChannel);
+ status=SeparateImage(jpeg_image);
+ PopPixelComponentMap(jpeg_image);
jpeg_image->matte=MagickFalse;
if (jng_quality >= 1000)
mask_image=CloneImage(image,0,0,MagickTrue,&image->exception);
if (mask_image == (Image *) NULL)
ThrowWriterException(CoderError,image->exception.reason);
- status=SeparateImageChannel(mask_image,OpacityChannel);
+ PushPixelComponentMap(mask_image,AlphaChannel);
+ status=SeparateImage(mask_image);
+ PopPixelComponentMap(mask_image);
if (status == MagickFalse)
{
mask_image=DestroyImage(mask_image);
%
% The format of the WriteXTRNImage method is:
%
-% MagickBooleanType WriteXTRNImage(const ImageInfo *image_info,Image *image)
+% MagickBooleanType WriteXTRNImage(const ImageInfo *image_info,
+% Image *image)
%
% A description of each parameter follows.
%