From: cristy Date: Sun, 23 Oct 2011 23:21:25 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~6754 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6dcb9b8f58179c62fb386bf2bc02c8ba901dfb15;p=imagemagick --- diff --git a/MagickCore/log.h b/MagickCore/log.h index 27bf8afb9..156e36d8e 100644 --- a/MagickCore/log.h +++ b/MagickCore/log.h @@ -47,12 +47,13 @@ typedef enum ImageEvent = 0x00200, LocaleEvent = 0x00400, ModuleEvent = 0x00800, - PolicyEvent = 0x01000, - ResourceEvent = 0x02000, - TransformEvent = 0x04000, - UserEvent = 0x09000, - WandEvent = 0x10000, - X11Event = 0x20000, + PixelEvent = 0x01000, + PolicyEvent = 0x02000, + ResourceEvent = 0x04000, + TransformEvent = 0x08000, + UserEvent = 0x10000, + WandEvent = 0x20000, + X11Event = 0x40000, AllEvents = 0x7fffffff } LogEventType; diff --git a/MagickCore/option.c b/MagickCore/option.c index eb0b7b855..5df40c42c 100644 --- a/MagickCore/option.c +++ b/MagickCore/option.c @@ -1198,6 +1198,8 @@ static const OptionInfo { "Module", MagickModuleOptions, UndefinedOptionFlag, MagickFalse }, { "Noise", MagickNoiseOptions, UndefinedOptionFlag, MagickFalse }, { "Orientation", MagickOrientationOptions, UndefinedOptionFlag, MagickFalse }, + { "PixelChannel", MagickPixelChannelOptions, UndefinedOptionFlag, MagickFalse }, + { "PixelTrait", MagickPixelTraitOptions, UndefinedOptionFlag, MagickFalse }, { "Policy", MagickPolicyOptions, UndefinedOptionFlag, MagickFalse }, { "PolicyDomain", MagickPolicyDomainOptions, UndefinedOptionFlag, MagickFalse }, { "PolicyRights", MagickPolicyRightsOptions, UndefinedOptionFlag, MagickFalse }, @@ -1233,6 +1235,7 @@ static const OptionInfo { "Locale", LocaleEvent, UndefinedOptionFlag, MagickFalse }, { "Module", ModuleEvent, UndefinedOptionFlag, MagickFalse }, { "None", NoEvents, UndefinedOptionFlag, MagickFalse }, + { "Pixel", PixelEvent, UndefinedOptionFlag, MagickFalse }, { "Policy", PolicyEvent, UndefinedOptionFlag, MagickFalse }, { "Resource", ResourceEvent, UndefinedOptionFlag, MagickFalse }, { "Trace", TraceEvent, UndefinedOptionFlag, MagickFalse }, @@ -1331,6 +1334,36 @@ static const OptionInfo { "LeftBottom", LeftBottomOrientation, UndefinedOptionFlag, MagickFalse }, { (char *) NULL, UndefinedOrientation, UndefinedOptionFlag, MagickFalse } }, + PixelChannelOptions[] = + { + { "Undefined", UndefinedPixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Alpha", AlphaPixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Black", BlackPixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Blue", BluePixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Cb", CbPixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Composite", CompositePixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Cr", CrPixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Cyan", CyanPixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Gray", GrayPixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Green", GreenPixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Index", IndexPixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Intensity", IntensityPixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Magenta", MagentaPixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Mask", MaskPixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Red", RedPixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Sync", SyncPixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Y", YPixelChannel, UndefinedOptionFlag, MagickFalse }, + { "Yellow", YellowPixelChannel, UndefinedOptionFlag, MagickFalse }, + { (char *) NULL, UndefinedPixelChannel, UndefinedOptionFlag, MagickFalse } + }, + PixelTraitOptions[] = + { + { "Undefined", UndefinedPixelTrait, UndefinedOptionFlag, MagickTrue }, + { "Blend", BlendPixelTrait, UndefinedOptionFlag, MagickFalse }, + { "Copy", CopyPixelTrait, UndefinedOptionFlag, MagickFalse }, + { "Update", UpdatePixelTrait, UndefinedOptionFlag, MagickFalse }, + { (char *) NULL, UndefinedPixelTrait, UndefinedOptionFlag, MagickFalse } + }, PolicyDomainOptions[] = { { "Undefined", UndefinedPolicyDomain, UndefinedOptionFlag, MagickTrue }, @@ -1818,6 +1851,8 @@ static const OptionInfo *GetOptionInfo(const CommandOption option) case MagickMorphologyOptions: return(MorphologyOptions); case MagickNoiseOptions: return(NoiseOptions); case MagickOrientationOptions: return(OrientationOptions); + case MagickPixelChannelOptions: return(PixelChannelOptions); + case MagickPixelTraitOptions: return(PixelTraitOptions); case MagickPolicyDomainOptions: return(PolicyDomainOptions); case MagickPolicyRightsOptions: return(PolicyRightsOptions); case MagickPreviewOptions: return(PreviewOptions); diff --git a/MagickCore/option.h b/MagickCore/option.h index 732f24e68..bbe7ac106 100644 --- a/MagickCore/option.h +++ b/MagickCore/option.h @@ -75,6 +75,8 @@ typedef enum MagickMorphologyOptions, MagickNoiseOptions, MagickOrientationOptions, + MagickPixelChannelOptions, + MagickPixelTraitOptions, MagickPolicyOptions, MagickPolicyDomainOptions, MagickPolicyRightsOptions, diff --git a/MagickCore/pixel.c b/MagickCore/pixel.c index c6b42f7f7..d90c2990b 100644 --- a/MagickCore/pixel.c +++ b/MagickCore/pixel.c @@ -3560,6 +3560,84 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image, % o image: the image. % */ + +static void LogPixelChannels(const Image *image) +{ + register ssize_t + i; + + (void) LogMagickEvent(PixelEvent,GetMagickModule(),"%s[%.20g]", + image->filename,(double) image->number_channels); + for (i=0; i < (ssize_t) image->number_channels; i++) + { + char + traits[MaxTextExtent]; + + const char + *channel; + + switch (image->channel_map[i].channel) + { + case RedPixelChannel: + { + channel="red"; + if (image->colorspace == CMYKColorspace) + channel="cyan"; + if (image->colorspace == GRAYColorspace) + channel="gray"; + break; + } + case GreenPixelChannel: + { + channel="green"; + if (image->colorspace == CMYKColorspace) + channel="magenta"; + break; + } + case BluePixelChannel: + { + channel="blue"; + if (image->colorspace == CMYKColorspace) + channel="yellow"; + break; + } + case BlackPixelChannel: + { + channel="black"; + if (image->storage_class == PseudoClass) + channel="index"; + break; + } + case AlphaPixelChannel: + { + channel="alpha"; + break; + } + case MaskPixelChannel: + { + channel="mask"; + break; + } + default: + { + channel="undefined"; + } + } + *traits='\0'; + if ((image->channel_map[i].traits & UpdatePixelTrait) != 0) + (void) ConcatenateMagickString(traits,"update,",MaxTextExtent); + if ((image->channel_map[i].traits & BlendPixelTrait) != 0) + (void) ConcatenateMagickString(traits,"blend,",MaxTextExtent); + if ((image->channel_map[i].traits & CopyPixelTrait) != 0) + (void) ConcatenateMagickString(traits,"copy,",MaxTextExtent); + if (*traits == '\0') + (void) ConcatenateMagickString(traits,"undefined,",MaxTextExtent); + traits[strlen(traits)-1]='\0'; + (void) LogMagickEvent(PixelEvent,GetMagickModule()," %.20g: %s (%s)", + (double) i,channel,traits); + } +} + MagickExport void InitializePixelChannelMap(Image *image) { PixelChannel @@ -3568,6 +3646,8 @@ MagickExport void InitializePixelChannelMap(Image *image) register ssize_t i; + assert(image != (Image *) NULL); + assert(image->signature == MagickSignature); for (i=0; i < (ssize_t) MaxPixelChannels; i++) { SetPixelChannelMapChannel(image,(PixelChannel) i,(PixelChannel) i); @@ -3605,6 +3685,8 @@ MagickExport void InitializePixelChannelMap(Image *image) image->number_channels+=image->number_meta_channels; for ( ; i < (ssize_t) image->number_channels; i++) SetPixelChannelMapTraits(image,(PixelChannel) i,CopyPixelTrait); + if (image->debug != MagickFalse) + LogPixelChannels(image); (void) SetPixelChannelMask(image,image->channel_mask); } @@ -5330,6 +5412,8 @@ MagickExport void SetPixelChannelMap(Image *image, SetPixelChannelMapTraits(image,(PixelChannel) i,UndefinedPixelTrait); if (image->storage_class == PseudoClass) SetPixelChannelMapTraits(image,IndexPixelChannel,CopyPixelTrait); + if (image->debug != MagickFalse) + LogPixelChannels(image); } /* diff --git a/MagickCore/pixel.h b/MagickCore/pixel.h index 5258c5844..32bb0876e 100644 --- a/MagickCore/pixel.h +++ b/MagickCore/pixel.h @@ -43,6 +43,7 @@ typedef enum typedef enum { + UndefinedPixelChannel = 0, RedPixelChannel = 0, CyanPixelChannel = 0, GrayPixelChannel = 0, diff --git a/MagickCore/version.h b/MagickCore/version.h index ca147bd00..4456bb8c5 100644 --- a/MagickCore/version.h +++ b/MagickCore/version.h @@ -34,7 +34,7 @@ extern "C" { #define MagickLibAddendum "-0" #define MagickLibInterface 7 #define MagickLibMinInterface 7 -#define MagickReleaseDate "2011-10-22" +#define MagickReleaseDate "2011-10-23" #define MagickChangeDate "20110801" #define MagickAuthoritativeURL "http://www.imagemagick.org" #if defined(MAGICKCORE_OPENMP_SUPPORT)