}
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
- if (IsGrayColorspace(image->colorspace) != MagickFalse)
- (void) TransformImageColorspace(image,RGBColorspace,exception);
status=MagickTrue;
for (i=0; textlist[i] != (char *) NULL; i++)
{
if ((image->background_color.alpha_trait == BlendPixelTrait) &&
(image->alpha_trait != BlendPixelTrait))
(void) SetCacheAlphaChannel(image,OpaqueAlpha,exception);
- if ((IsPixelInfoGray(&image->background_color) == MagickFalse) &&
- (IsGrayColorspace(image->colorspace) != MagickFalse))
- (void) TransformImageColorspace(image,RGBColorspace,exception);
break;
}
case TransparentVirtualPixelMethod:
destination_image=CloneImage(source_image,0,0,MagickTrue,exception);
if (destination_image == (Image *) NULL)
return((Image *) NULL);
- if (IsGrayColorspace(image->colorspace) != MagickFalse)
- (void) TransformImageColorspace((Image *) image,RGBColorspace,exception);
if (expression == (const char *) NULL)
return(destination_image);
destination_channel=RedPixelChannel;
destination_image=DestroyImageList(destination_image);
return(destination_image);
}
- if (IsGrayColorspace(canvas->colorspace) != MagickFalse)
- (void) TransformImageColorspace(canvas,RGBColorspace,exception);
AppendImageToList(&destination_image,canvas);
destination_image=GetLastImageInList(destination_image);
GetMagickToken(p,&p,token);
combine_image=DestroyImage(combine_image);
return((Image *) NULL);
}
- if (IsGrayColorspace(image->colorspace) != MagickFalse)
- (void) SetImageColorspace(combine_image,RGBColorspace,exception);
if ((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0)
combine_image->alpha_trait=BlendPixelTrait;
/*
composite_image=CloneImage(composite,0,0,MagickTrue,exception);
if (composite_image == (const Image *) NULL)
return(MagickFalse);
- if (IsGrayColorspace(image->colorspace) != MagickFalse)
- (void) SetImageColorspace(image,RGBColorspace,exception);
(void) SetImageColorspace(composite_image,image->colorspace,exception);
if ((image->alpha_trait == BlendPixelTrait) &&
(composite_image->alpha_trait != BlendPixelTrait))
frame_image=DestroyImage(frame_image);
return((Image *) NULL);
}
- if ((IsPixelInfoGray(&frame_image->matte_color) == MagickFalse) &&
- (IsGrayColorspace(frame_image->colorspace) != MagickFalse))
- (void) SetImageColorspace(frame_image,RGBColorspace,exception);
if ((frame_image->matte_color.alpha_trait == BlendPixelTrait) &&
(frame_image->alpha_trait != BlendPixelTrait))
(void) SetImageAlpha(frame_image,OpaqueAlpha,exception);
distort_image=DestroyImage(distort_image);
return((Image *) NULL);
}
- if ((IsPixelInfoGray(&distort_image->background_color) == MagickFalse) &&
- (IsGrayColorspace(distort_image->colorspace) != MagickFalse))
- (void) TransformImageColorspace(distort_image,RGBColorspace,exception);
if (distort_image->background_color.alpha_trait == BlendPixelTrait)
distort_image->alpha_trait=BlendPixelTrait;
distort_image->page.x=geometry.x;
draw_info->affine.rx,draw_info->affine.ry,draw_info->affine.sy,
draw_info->affine.tx,draw_info->affine.ty);
}
- if ((IsGrayColorspace(image->colorspace) != MagickFalse) &&
- ((IsPixelInfoGray(&draw_info->fill) == MagickFalse) ||
- (IsPixelInfoGray(&draw_info->stroke) == MagickFalse)))
- (void) SetImageColorspace(image,RGBColorspace,exception);
status=MagickTrue;
x=(ssize_t) ceil(primitive_info->point.x-0.5);
y=(ssize_t) ceil(primitive_info->point.y-0.5);
assert(clut_image->signature == MagickSignature);
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
- if (IsGrayColorspace(image->colorspace) != MagickFalse)
- (void) TransformImageColorspace(image,RGBColorspace,exception);
clut_map=(PixelInfo *) AcquireQuantumMemory(MaxMap+1UL,sizeof(*clut_map));
if (clut_map == (PixelInfo *) NULL)
ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed",
assert(hald_image->signature == MagickSignature);
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
- if (IsGrayColorspace(image->colorspace) != MagickFalse)
- (void) TransformImageColorspace(image,RGBColorspace,exception);
if (image->alpha_trait != BlendPixelTrait)
(void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception);
/*
assert(image->signature == MagickSignature);
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
- if (IsGrayColorspace(image->colorspace) != MagickFalse)
- (void) SetImageColorspace(image,RGBColorspace,exception);
if (image->storage_class == PseudoClass)
for (i=0; i < (ssize_t) image->colors; i++)
{
noise_image=DestroyImage(noise_image);
return((Image *) NULL);
}
- if (IsGrayColorspace(image->colorspace) != MagickFalse)
- (void) TransformImageColorspace(noise_image,RGBColorspace,exception);
/*
Add noise in each row.
*/
colorize_image=DestroyImage(colorize_image);
return((Image *) NULL);
}
- if ((IsGrayColorspace(image->colorspace) != MagickFalse) &&
- (IsPixelInfoGray(colorize) != MagickFalse))
- (void) SetImageColorspace(colorize_image,RGBColorspace,exception);
if ((colorize_image->alpha_trait != BlendPixelTrait) &&
(colorize->alpha_trait == BlendPixelTrait))
(void) SetImageAlpha(colorize_image,OpaqueAlpha,exception);
clone_image=CloneImage(image,0,0,MagickTrue,exception);
if (clone_image == (Image *) NULL)
return((Image *) NULL);
- if (IsGrayColorspace(image->colorspace) != MagickFalse)
- (void) TransformImageColorspace(clone_image,RGBColorspace,exception);
(void) SetImageVirtualPixelMethod(clone_image,TransparentVirtualPixelMethod,
exception);
border_info.width=(size_t) floor(2.0*sigma+0.5);
tint_image=DestroyImage(tint_image);
return((Image *) NULL);
}
- if ((IsGrayColorspace(image->colorspace) != MagickFalse) &&
- (IsPixelInfoGray(tint) == MagickFalse))
- (void) SetImageColorspace(tint_image,RGBColorspace,exception);
if (blend == (const char *) NULL)
return(tint_image);
/*
assert(image->signature == MagickSignature);
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
- if ((IsPixelInfoGray(&image->background_color) == MagickFalse) &&
- (IsGrayColorspace(image->colorspace) != MagickFalse))
- (void) TransformImageColorspace(image,RGBColorspace,exception);
if ((image->background_color.alpha_trait == BlendPixelTrait) &&
(image->alpha_trait != BlendPixelTrait))
(void) SetImageAlpha(image,OpaqueAlpha,exception);
{ "Brightness", BrightnessPixelIntensityMethod, UndefinedOptionFlag, MagickTrue },
{ "Lightness", LightnessPixelIntensityMethod, UndefinedOptionFlag, MagickTrue },
{ "Rec601Luma", Rec601LumaPixelIntensityMethod, UndefinedOptionFlag, MagickTrue },
+ { "Rec601Luminance", Rec601LuminanceaPixelIntensityMethod, UndefinedOptionFlag, MagickTrue },
{ "Rec709Luma", Rec709LumaPixelIntensityMethod, UndefinedOptionFlag, MagickTrue },
+ { "Rec709Luminance", Rec709LuminanceaPixelIntensityMethod, UndefinedOptionFlag, MagickTrue },
{ "RMS", RMSPixelIntensityMethod, UndefinedOptionFlag, MagickTrue },
{ (char *) NULL, UndefinedPixelIntensityMethod, UndefinedOptionFlag, MagickFalse }
},
return(MagickFalse);
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
- if (IsGrayColorspace(image->colorspace) != MagickFalse)
- (void) TransformImageColorspace(image,RGBColorspace,exception);
if ((image->alpha_trait != BlendPixelTrait) &&
(draw_info->fill.alpha_trait == BlendPixelTrait))
(void) SetImageAlpha(image,OpaqueAlpha,exception);
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
return(MagickFalse);
- if ((IsGrayColorspace(image->colorspace) != MagickFalse) &&
- (IsPixelInfoGray(fill) == MagickFalse))
- (void) TransformImageColorspace(image,RGBColorspace,exception);
if ((fill->alpha_trait == BlendPixelTrait) &&
(image->alpha_trait != BlendPixelTrait))
(void) SetImageAlpha(image,OpaqueAlpha,exception);
% GetPixelIntensity() returns a single sample intensity value from the red,
% green, and blue components of a pixel based on the selected method:
%
-% Rec601Luma 0.298839R + 0.586811G + 0.114350B
-% Rec709Luma 0.21260R + 0.71520G + 0.07220B
-% Brightness max(R, G, B)
-% Lightness (min(R, G, B) + max(R, G, B)) / 2.0
-% RMS (R^2 + G^2 + B^2) / 3.0
-% Average (R + G + B) / 3.0
+% Rec601Luma 0.298839R' + 0.586811G' + 0.114350B'
+% Rec601Luminance 0.298839R + 0.586811G + 0.114350B
+% Rec709Luma 0.21260R' + 0.71520G' + 0.07220B'
+% Rec709Luminance 0.21260R + 0.71520G + 0.07220B
+% Brightness max(R, G, B)
+% Lightness (min(R, G, B) + max(R, G, B)) / 2.0
+% RMS (R'^2 + G'^2 + B'^2) / 3.0
+% Average (R' + G' + B') / 3.0
%
% The format of the GetPixelIntensity method is:
%
-% GetPixelIntensity(const Image *image,const Quantum *pixel)
+% MagickRealType GetPixelIntensity(const Image *image,
+% const Quantum *pixel)
%
% A description of each parameter follows:
%
{
case Rec601LumaPixelIntensityMethod:
default:
+ {
+ intensity=0.298839f*red+0.586811f*green+0.114350f*blue;
+ break;
+ }
+ case Rec601LuminancePixelIntensityMethod:
{
if (image->colorspace == sRGBColorspace)
{
break;
}
case Rec709LumaPixelIntensityMethod:
+ {
+ intensity=0.21260f*red+0.71520f*green+0.07220f*blue;
+ break;
+ }
+ case Rec709LuminancePixelIntensityMethod:
{
if (image->colorspace == sRGBColorspace)
{
}
case BrightnessPixelIntensityMethod:
{
- if (image->colorspace == sRGBColorspace)
- {
- red=DecodePixelGamma(red);
- green=DecodePixelGamma(green);
- blue=DecodePixelGamma(blue);
- }
intensity=MagickMax(MagickMax(red,green),blue);
break;
}
case LightnessPixelIntensityMethod:
{
- if (image->colorspace == sRGBColorspace)
- {
- red=DecodePixelGamma(red);
- green=DecodePixelGamma(green);
- blue=DecodePixelGamma(blue);
- }
intensity=MagickMin(MagickMin(red,green),blue);
break;
}
BrightnessPixelIntensityMethod,
LightnessPixelIntensityMethod,
Rec601LumaPixelIntensityMethod,
+ Rec601LuminancePixelIntensityMethod,
Rec709LumaPixelIntensityMethod,
+ Rec709LuminancePixelIntensityMethod,
RMSPixelIntensityMethod
} PixelIntensityMethod;