if (LocaleCompare(colorspace,"gray") == 0)
{
color->colorspace=GRAYColorspace;
+ color->gamma=1.0;
color->green=color->red;
color->blue=color->red;
if (((flags & SigmaValue) != 0) &&
pixel->alpha_trait=UndefinedPixelTrait;
pixel->fuzz=0.0;
pixel->depth=MAGICKCORE_QUANTUM_DEPTH;
+ pixel->gamma=1.000/2.200;
pixel->red=0.0;
pixel->green=0.0;
pixel->blue=0.0;
pixel->alpha=(double) OpaqueAlpha;
pixel->index=0.0;
pixel->count=0;
- pixel->fuzz=0.0;
if (image == (const Image *) NULL)
return;
pixel->storage_class=image->storage_class;
pixel->alpha_trait=image->alpha_trait;
pixel->depth=image->depth;
pixel->fuzz=image->fuzz;
+ pixel->gamma=image->gamma;
}
\f
/*
black,
alpha,
index;
+
+ double
+ gamma;
} PixelInfo;
typedef struct _PixelPacket
image->alpha_trait=stops[0].color.alpha_trait;
if (stops[1].color.alpha_trait != UndefinedPixelTrait)
image->alpha_trait=stops[1].color.alpha_trait;
+ image->gamma=MagickMax(stops[0].color.gamma,stops[1].color.gamma);
status=GradientImage(image,LocaleCompare(image_info->magick,"GRADIENT") == 0 ?
LinearGradient : RadialGradient,PadSpread,stops,2,exception);
stops=(StopInfo *) RelinquishMagickMemory(stops);