%
% The format of the CombineImages method is:
%
-% Image *CombineImages(const Image *image,ExceptionInfo *exception)
+% Image *CombineImages(const Image *images,const ColorspaceType colorspace,
+% ExceptionInfo *exception)
%
% A description of each parameter follows:
%
-% o image: the image.
+% o images: the image sequence.
+%
+% o colorspace: the image colorspace.
%
% o exception: return any errors or warnings in this structure.
%
*/
-MagickExport Image *CombineImages(const Image *image,ExceptionInfo *exception)
+MagickExport Image *CombineImages(const Image *image,
+ const ColorspaceType colorspace,ExceptionInfo *exception)
{
#define CombineImageTag "Combine/Image"
return((Image *) NULL);
}
if (IsGrayColorspace(image->colorspace) != MagickFalse)
- (void) SetImageColorspace(combine_image,sRGBColorspace,exception);
+ (void) SetImageColorspace(combine_image,RGBColorspace,exception);
if ((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0)
combine_image->matte=MagickTrue;
/*
combine_view=DestroyCacheView(combine_view);
if (status == MagickFalse)
combine_image=DestroyImage(combine_image);
+ (void) TransformImageColorspace(combine_image,colorspace,exception);
return(combine_image);
}
\f
extern MagickExport Image
*ChannelFxImage(const Image *,const char *,ExceptionInfo *),
- *CombineImages(const Image *,ExceptionInfo *),
+ *CombineImages(const Image *,const ColorspaceType,ExceptionInfo *),
*SeparateImage(const Image *,const ChannelType,ExceptionInfo *),
*SeparateImages(const Image *,ExceptionInfo *);
{ "+colorspace", 0L, ImageInfoOptionFlag | SimpleOperatorFlag, MagickFalse },
{ "-colorspace", 1L, ImageInfoOptionFlag | SimpleOperatorFlag, MagickFalse },
{ "+combine", 0L, DeprecateOptionFlag | FireOptionFlag, MagickTrue },
- { "-combine", 0L, ListOperatorFlag | FireOptionFlag, MagickFalse },
+ { "-combine", 1L, ListOperatorFlag | FireOptionFlag, MagickFalse },
{ "+comment", 0L, ImageInfoOptionFlag | NeverInterpretArgsFlag, MagickFalse },
{ "-comment", 1L, ImageInfoOptionFlag | NeverInterpretArgsFlag, MagickFalse },
{ "+compose", 0L, ImageInfoOptionFlag, MagickFalse },
break;
}
if (LocaleCompare("combine",option+1) == 0)
- break;
+ {
+ ssize_t
+ colorspace;
+
+ if (*option == '+')
+ break;
+ i++;
+ if (i == (ssize_t) argc)
+ ThrowMogrifyException(OptionError,"MissingArgument",option);
+ colorspace=ParseCommandOption(MagickColorspaceOptions,MagickFalse,
+ argv[i]);
+ if (colorspace < 0)
+ ThrowMogrifyException(OptionError,"UnrecognizedColorspace",
+ argv[i]);
+ break;
+ }
if (LocaleCompare("comment",option+1) == 0)
{
if (*option == '+')
}
if (LocaleCompare("combine",option+1) == 0)
{
+ ColorspaceType
+ colorspace;
+
Image
*combine_image;
(void) SyncImagesSettings(mogrify_info,*images,exception);
- combine_image=CombineImages(*images,exception);
+ colorspace=(ColorspaceType) ParseCommandOption(
+ MagickColorspaceOptions,MagickFalse,argv[i+1]);
+ combine_image=CombineImages(*images,colorspace,exception);
if (combine_image == (Image *) NULL)
{
status=MagickFalse;
if (LocaleCompare("combine",option+1) == 0)
{
/* FUTURE - this may be replaced by a 'channel' method */
- new_images=CombineImages(_images,_exception);
+ parse = ParseCommandOption(MagickColorspaceOptions,MagickFalse,arg1);
+ new_images=CombineImages(_images,(ColorspaceType) parse,_exception);
break;
}
if (LocaleCompare("composite",option+1) == 0)