diff --git a/PerlMagick/Magick.xs b/PerlMagick/Magick.xs
index 98f3224..41ff9b6 100644
--- a/PerlMagick/Magick.xs
+++ b/PerlMagick/Magick.xs
@@ -1804,7 +1804,7 @@
*indexes;
register PixelPacket
- *p;
+ *q;
CacheView
*image_view;
@@ -1817,9 +1817,9 @@
y=0;
items=sscanf(attribute,"%*[^[][%ld%*[,/]%ld",&x,&y);
image_view=AcquireCacheView(image);
- p=GetCacheViewAuthenticPixels(image_view,x,y,1,1,exception);
+ q=GetCacheViewAuthenticPixels(image_view,x,y,1,1,exception);
indexes=GetCacheViewAuthenticIndexQueue(image_view);
- if (p != (PixelPacket *) NULL)
+ if (q != (PixelPacket *) NULL)
{
if ((strchr(SvPV(sval,na),',') == 0) ||
(strchr(SvPV(sval,na),')') != 0))
@@ -1838,14 +1838,14 @@
if ((flags & ChiValue) != 0)
pixel.index=geometry_info.chi;
}
- p->red=ClampToQuantum(pixel.red);
- p->green=ClampToQuantum(pixel.green);
- p->blue=ClampToQuantum(pixel.blue);
- p->opacity=ClampToQuantum(pixel.opacity);
+ SetRedPixelComponent(q,ClampToQuantum(pixel.red));
+ SetGreenPixelComponent(q,ClampToQuantum(pixel.green));
+ SetBluePixelComponent(q,ClampToQuantum(pixel.blue));
+ SetOpacityPixelComponent(q,ClampToQuantum(pixel.opacity));
if (((image->colorspace == CMYKColorspace) ||
(image->storage_class == PseudoClass)) &&
(indexes != (IndexPacket *) NULL))
- *indexes=ClampToQuantum(pixel.index);
+ SetIndexPixelComponent(indexes,ClampToQuantum(pixel.index));
(void) SyncCacheViewAuthenticPixels(image_view,exception);
}
image_view=DestroyCacheView(image_view);
@@ -5140,11 +5140,11 @@
if (image->colorspace != CMYKColorspace)
(void) FormatMagickString(tuple,MaxTextExtent,QuantumFormat ","
QuantumFormat "," QuantumFormat "," QuantumFormat,
- p->red,p->green,p->blue,p->opacity);
+ GetRedPixelComponent(p),GetGreenPixelComponent(p),GetBluePixelComponent(p),GetOpacityPixelComponent(p));
else
(void) FormatMagickString(tuple,MaxTextExtent,QuantumFormat ","
QuantumFormat "," QuantumFormat "," QuantumFormat ","
- QuantumFormat,p->red,p->green,p->blue,*indexes,p->opacity);
+ QuantumFormat,GetRedPixelComponent(p),GetGreenPixelComponent(p),GetBluePixelComponent(p),*indexes,GetOpacityPixelComponent(p));
s=newSVpv(tuple,0);
PUSHs(s ? sv_2mortal(s) : &sv_undef);
continue;
@@ -6273,16 +6273,16 @@
if (normalize != MagickFalse)
scale=1.0/QuantumRange;
if ((channel & RedChannel) != 0)
- PUSHs(sv_2mortal(newSVnv(scale*p->red)));
+ PUSHs(sv_2mortal(newSVnv(scale*GetRedPixelComponent(p))));
if ((channel & GreenChannel) != 0)
- PUSHs(sv_2mortal(newSVnv(scale*p->green)));
+ PUSHs(sv_2mortal(newSVnv(scale*GetGreenPixelComponent(p))));
if ((channel & BlueChannel) != 0)
- PUSHs(sv_2mortal(newSVnv(scale*p->blue)));
+ PUSHs(sv_2mortal(newSVnv(scale*GetBluePixelComponent(p))));
if (((channel & IndexChannel) != 0) &&
(image->colorspace == CMYKColorspace))
PUSHs(sv_2mortal(newSVnv(scale*(*indexes))));
if ((channel & OpacityChannel) != 0)
- PUSHs(sv_2mortal(newSVnv(scale*p->opacity)));
+ PUSHs(sv_2mortal(newSVnv(scale*GetOpacityPixelComponent(p))));
}
PerlException:
diff --git a/coders/aai.c b/coders/aai.c
index c56312c..6a4f83b 100644
--- a/coders/aai.c
+++ b/coders/aai.c
@@ -378,7 +378,7 @@
*q++=ScaleQuantumToChar(GetGreenPixelComponent(p));
*q++=ScaleQuantumToChar(GetRedPixelComponent(p));
*q=ScaleQuantumToChar((Quantum) (QuantumRange-
- (image->matte != MagickFalse ? p->opacity : OpaqueOpacity)));
+ (image->matte != MagickFalse ? GetOpacityPixelComponent(p) : OpaqueOpacity)));
if (*q == 255)
*q=254;
p++;
diff --git a/coders/avs.c b/coders/avs.c
index a4e41d6..dac7038 100644
--- a/coders/avs.c
+++ b/coders/avs.c
@@ -372,7 +372,7 @@
for (x=0; x < (ssize_t) image->columns; x++)
{
*q++=ScaleQuantumToChar((Quantum) (QuantumRange-
- (image->matte != MagickFalse ? p->opacity : OpaqueOpacity)));
+ (image->matte != MagickFalse ? GetOpacityPixelComponent(p) : OpaqueOpacity)));
*q++=ScaleQuantumToChar(GetRedPixelComponent(p));
*q++=ScaleQuantumToChar(GetGreenPixelComponent(p));
*q++=ScaleQuantumToChar(GetBluePixelComponent(p));
diff --git a/coders/exr.c b/coders/exr.c
index a992e78..e481272 100644
--- a/coders/exr.c
+++ b/coders/exr.c
@@ -431,16 +431,16 @@
break;
for (x=0; x < (ssize_t) image->columns; x++)
{
- ImfFloatToHalf(QuantumScale*p->red,&half_quantum);
+ ImfFloatToHalf(QuantumScale*GetRedPixelComponent(p),&half_quantum);
scanline[x].r=half_quantum;
- ImfFloatToHalf(QuantumScale*p->green,&half_quantum);
+ ImfFloatToHalf(QuantumScale*GetGreenPixelComponent(p),&half_quantum);
scanline[x].g=half_quantum;
- ImfFloatToHalf(QuantumScale*p->blue,&half_quantum);
+ ImfFloatToHalf(QuantumScale*GetBluePixelComponent(p),&half_quantum);
scanline[x].b=half_quantum;
if (image->matte == MagickFalse)
ImfFloatToHalf(1.0,&half_quantum);
else
- ImfFloatToHalf(1.0-QuantumScale*p->opacity,&half_quantum);
+ ImfFloatToHalf(1.0-QuantumScale*GetOpacityPixelComponent(p),&half_quantum);
scanline[x].a=half_quantum;
p++;
}
diff --git a/coders/hdr.c b/coders/hdr.c
index 950e7a8..a4d4cef 100644
--- a/coders/hdr.c
+++ b/coders/hdr.c
@@ -752,20 +752,20 @@
pixel[1]=0;
pixel[2]=0;
pixel[3]=0;
- gamma=QuantumScale*p->red;
- if ((QuantumScale*p->green) > gamma)
- gamma=QuantumScale*p->green;
- if ((QuantumScale*p->blue) > gamma)
- gamma=QuantumScale*p->blue;
+ gamma=QuantumScale*GetRedPixelComponent(p);
+ if ((QuantumScale*GetGreenPixelComponent(p)) > gamma)
+ gamma=QuantumScale*GetGreenPixelComponent(p);
+ if ((QuantumScale*GetBluePixelComponent(p)) > gamma)
+ gamma=QuantumScale*GetBluePixelComponent(p);
if (gamma > MagickEpsilon)
{
int
exponent;
gamma=frexp(gamma,&exponent)*256.0/gamma;
- pixel[0]=(unsigned char) (gamma*QuantumScale*p->red);
- pixel[1]=(unsigned char) (gamma*QuantumScale*p->green);
- pixel[2]=(unsigned char) (gamma*QuantumScale*p->blue);
+ pixel[0]=(unsigned char) (gamma*QuantumScale*GetRedPixelComponent(p));
+ pixel[1]=(unsigned char) (gamma*QuantumScale*GetGreenPixelComponent(p));
+ pixel[2]=(unsigned char) (gamma*QuantumScale*GetBluePixelComponent(p));
pixel[3]=(unsigned char) (exponent+128);
}
if ((image->columns >= 8) && (image->columns <= 0x7ffff))
diff --git a/coders/icon.c b/coders/icon.c
index 68b36d9..f7568ed 100644
--- a/coders/icon.c
+++ b/coders/icon.c
@@ -1192,7 +1192,7 @@
{
byte<<=1;
if ((next->matte == MagickTrue) &&
- (p->opacity == (Quantum) TransparentOpacity))
+ (GetOpacityPixelComponent(p) == (Quantum) TransparentOpacity))
byte|=0x01;
bit++;
if (bit == 8)
diff --git a/coders/miff.c b/coders/miff.c
index 2ecd2d1..ee2db85 100644
--- a/coders/miff.c
+++ b/coders/miff.c
@@ -2414,7 +2414,7 @@
if ((length < 255) && (x < (ssize_t) (image->columns-1)) &&
(IsColorEqual(p,&pixel) != MagickFalse) &&
((image->matte == MagickFalse) ||
- (p->opacity == pixel.opacity)) &&
+ (GetOpacityPixelComponent(p) == pixel.opacity)) &&
((indexes == (IndexPacket *) NULL) || (index == indexes[x])))
length++;
else
diff --git a/coders/palm.c b/coders/palm.c
index 2e3417a..2f69f05 100644
--- a/coders/palm.c
+++ b/coders/palm.c
@@ -863,7 +863,7 @@
(size_t) QuantumRange) << 11) |
(((63*(size_t) GetGreenPixelComponent(p))/(size_t) QuantumRange) << 5) |
((31*(size_t) GetBluePixelComponent(p))/(size_t) QuantumRange));
- if (p->opacity == (Quantum) TransparentOpacity)
+ if (GetOpacityPixelComponent(p) == (Quantum) TransparentOpacity)
{
transpix.red=GetRedPixelComponent(p);
transpix.green=GetGreenPixelComponent(p);
diff --git a/coders/png.c b/coders/png.c
index 5d5e84c..9bb20f8 100644
--- a/coders/png.c
+++ b/coders/png.c
@@ -574,11 +574,11 @@
for (x=(ssize_t) image->columns-1; x >= 0; x--)
{
ok_to_reduce=
- (p->red == ScaleQuantumToCharToQuantum(p->red) &&
- p->green == ScaleQuantumToCharToQuantum(p->green) &&
- p->blue == ScaleQuantumToCharToQuantum(p->blue) &&
+ (GetRedPixelComponent(p) == ScaleQuantumToCharToQuantum(GetRedPixelComponent(p)) &&
+ GetGreenPixelComponent(p) == ScaleQuantumToCharToQuantum(GetGreenPixelComponent(p)) &&
+ GetBluePixelComponent(p) == ScaleQuantumToCharToQuantum(GetBluePixelComponent(p)) &&
(image->matte == MagickFalse ||
- p->opacity == ScaleQuantumToCharToQuantum(p->opacity)))
+ GetOpacityPixelComponent(p) == ScaleQuantumToCharToQuantum(GetOpacityPixelComponent(p))))
? MagickTrue : MagickFalse;
if (ok_to_reduce == MagickFalse)
diff --git a/coders/ps.c b/coders/ps.c
index 08ddd9b..6f646a4 100644
--- a/coders/ps.c
+++ b/coders/ps.c
@@ -1026,7 +1026,7 @@
#define WriteRunlengthPacket(image,pixel,length,p) \
{ \
if ((image->matte != MagickFalse) && \
- (p->opacity == (Quantum) TransparentOpacity)) \
+ (GetOpacityPixelComponent(p) == (Quantum) TransparentOpacity)) \
{ \
q=PopHexPixel(hex_digits,0xff,q); \
q=PopHexPixel(hex_digits,0xff,q); \
@@ -1890,9 +1890,9 @@
length=255;
for (x=0; x < (ssize_t) image->columns; x++)
{
- if ((p->red == pixel.red) && (p->green == pixel.green) &&
- (p->blue == pixel.blue) &&
- (p->opacity == pixel.opacity) && (length < 255) &&
+ if ((GetRedPixelComponent(p) == pixel.red) && (GetGreenPixelComponent(p) == pixel.green) &&
+ (GetBluePixelComponent(p) == pixel.blue) &&
+ (GetOpacityPixelComponent(p) == pixel.opacity) && (length < 255) &&
(x < (ssize_t) (image->columns-1)))
length++;
else
@@ -1950,7 +1950,7 @@
for (x=0; x < (ssize_t) image->columns; x++)
{
if ((image->matte != MagickFalse) &&
- (p->opacity == (Quantum) TransparentOpacity))
+ (GetOpacityPixelComponent(p) == (Quantum) TransparentOpacity))
{
q=PopHexPixel(hex_digits,0xff,q);
q=PopHexPixel(hex_digits,0xff,q);
diff --git a/coders/ps2.c b/coders/ps2.c
index 1b20a15..97e7e27 100644
--- a/coders/ps2.c
+++ b/coders/ps2.c
@@ -885,7 +885,7 @@
for (x=0; x < (ssize_t) image->columns; x++)
{
if ((image->matte != MagickFalse) &&
- (p->opacity == (Quantum) TransparentOpacity))
+ (GetOpacityPixelComponent(p) == (Quantum) TransparentOpacity))
{
*q++=ScaleQuantumToChar((Quantum) QuantumRange);
*q++=ScaleQuantumToChar((Quantum) QuantumRange);
@@ -940,7 +940,7 @@
for (x=0; x < (ssize_t) image->columns; x++)
{
if ((image->matte != MagickFalse) &&
- (p->opacity == (Quantum) TransparentOpacity))
+ (GetOpacityPixelComponent(p) == (Quantum) TransparentOpacity))
{
Ascii85Encode(image,ScaleQuantumToChar((Quantum)
QuantumRange));
diff --git a/coders/uil.c b/coders/uil.c
index 580991d..115ce8e 100644
--- a/coders/uil.c
+++ b/coders/uil.c
@@ -249,7 +249,7 @@
for (x=0; x < (ssize_t) image->columns; x++)
{
matte_image[i]=(unsigned char)
- (p->opacity == (Quantum) TransparentOpacity ? 1 : 0);
+ (GetOpacityPixelComponent(p) == (Quantum) TransparentOpacity ? 1 : 0);
if (matte_image[i] != 0)
transparent=MagickTrue;
i++;
diff --git a/coders/webp.c b/coders/webp.c
index dcc281b..7751534 100644
--- a/coders/webp.c
+++ b/coders/webp.c
@@ -376,7 +376,7 @@
*q++=ScaleQuantumToChar(GetBluePixelComponent(p));
if (image->matte != MagickFalse)
*q++=ScaleQuantumToChar((Quantum) (QuantumRange-
- (image->matte != MagickFalse ? p->opacity : OpaqueOpacity)));
+ (image->matte != MagickFalse ? GetOpacityPixelComponent(p) : OpaqueOpacity)));
p++;
}
status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
diff --git a/filters/analyze.c b/filters/analyze.c
index 4b0e162..4ed8609 100644
--- a/filters/analyze.c
+++ b/filters/analyze.c
@@ -165,7 +165,7 @@
}
for (x=0; x < (ssize_t) image->columns; x++)
{
- ConvertRGBToHSB(GetRedPixelComponent(p),p->green,p->blue,&hue,&saturation,&brightness);
+ ConvertRGBToHSB(GetRedPixelComponent(p),GetGreenPixelComponent(p),GetBluePixelComponent(p),&hue,&saturation,&brightness);
brightness*=QuantumRange;
brightness_sum_x+=brightness;
brightness_sum_x2+=brightness*brightness;
diff --git a/magick/attribute.c b/magick/attribute.c
index 09e446c..97777c2 100644
--- a/magick/attribute.c
+++ b/magick/attribute.c
@@ -918,13 +918,13 @@
for (i=0; i < (ssize_t) image->colors; i++)
{
if ((channel & RedChannel) != 0)
- p->red=ScaleAnyToQuantum(ScaleQuantumToAny(GetRedPixelComponent(p),range),range);
+ GetRedPixelComponent(p)=ScaleAnyToQuantum(ScaleQuantumToAny(GetRedPixelComponent(p),range),range);
if ((channel & GreenChannel) != 0)
- p->green=ScaleAnyToQuantum(ScaleQuantumToAny(GetGreenPixelComponent(p),range),range);
+ GetGreenPixelComponent(p)=ScaleAnyToQuantum(ScaleQuantumToAny(GetGreenPixelComponent(p),range),range);
if ((channel & BlueChannel) != 0)
- p->blue=ScaleAnyToQuantum(ScaleQuantumToAny(GetBluePixelComponent(p),range),range);
+ GetBluePixelComponent(p)=ScaleAnyToQuantum(ScaleQuantumToAny(GetBluePixelComponent(p),range),range);
if ((channel & OpacityChannel) != 0)
- p->opacity=ScaleAnyToQuantum(ScaleQuantumToAny(GetOpacityPixelComponent(p),range),
+ GetOpacityPixelComponent(p)=ScaleAnyToQuantum(ScaleQuantumToAny(GetOpacityPixelComponent(p),range),
range);
p++;
}
diff --git a/magick/color-private.h b/magick/color-private.h
index 939ac82..7e6c619 100644
--- a/magick/color-private.h
+++ b/magick/color-private.h
@@ -29,7 +29,7 @@
static inline MagickBooleanType IsColorEqual(const PixelPacket *p,
const PixelPacket *q)
{
- if ((p->red == q->red) && (p->green == q->green) && (p->blue == q->blue))
+ if ((GetRedPixelComponent(p) == q->red) && (GetGreenPixelComponent(p) == q->green) && (GetBluePixelComponent(p) == q->blue))
return(MagickTrue);
return(MagickFalse);
}
@@ -55,7 +55,7 @@
{
if (GetOpacityPixelComponent(p) != q->opacity)
return(MagickFalse);
- if (p->opacity == TransparentOpacity)
+ if (GetOpacityPixelComponent(p) == TransparentOpacity)
return(MagickTrue);
}
if (GetRedPixelComponent(p) != q->red)
@@ -68,23 +68,23 @@
return(MagickFalse);
#else
if ((p->matte != MagickFalse) && (q->matte == MagickFalse) &&
- (fabs(p->opacity-OpaqueOpacity) > 0.5))
+ (fabs(GetOpacityPixelComponent(p)-OpaqueOpacity) > 0.5))
return(MagickFalse);
if ((q->matte != MagickFalse) && (p->matte == MagickFalse) &&
(fabs(q->opacity-OpaqueOpacity)) > 0.5)
return(MagickFalse);
if ((p->matte != MagickFalse) && (q->matte != MagickFalse))
{
- if (fabs(p->opacity-q->opacity) > 0.5)
+ if (fabs(GetOpacityPixelComponent(p)-q->opacity) > 0.5)
return(MagickFalse);
- if (fabs(p->opacity-TransparentOpacity) <= 0.5)
+ if (fabs(GetOpacityPixelComponent(p)-TransparentOpacity) <= 0.5)
return(MagickTrue);
}
- if (fabs(p->red-q->red) > 0.5)
+ if (fabs(GetRedPixelComponent(p)-q->red) > 0.5)
return(MagickFalse);
- if (fabs(p->green-q->green) > 0.5)
+ if (fabs(GetGreenPixelComponent(p)-q->green) > 0.5)
return(MagickFalse);
- if (fabs(p->blue-q->blue) > 0.5)
+ if (fabs(GetBluePixelComponent(p)-q->blue) > 0.5)
return(MagickFalse);
if ((p->colorspace == CMYKColorspace) && (fabs(p->index-q->index) > 0.5))
return(MagickFalse);
diff --git a/magick/color.c b/magick/color.c
index 81052a5..6986fd9 100644
--- a/magick/color.c
+++ b/magick/color.c
@@ -1564,7 +1564,7 @@
/*
Transparencies are involved - set alpha distance
*/
- pixel=(MagickRealType) ((image->matte != MagickFalse ? p->opacity :
+ pixel=(MagickRealType) ((image->matte != MagickFalse ? GetOpacityPixelComponent(p) :
OpaqueOpacity)-(image->matte != MagickFalse ? q->opacity :
OpaqueOpacity));
distance=pixel*pixel;
@@ -1584,7 +1584,7 @@
*/
distance*=3.0; /* rescale appropriately */
fuzz*=3.0;
- pixel=(MagickRealType) p->red-q->red;
+ pixel=(MagickRealType) GetRedPixelComponent(p)-q->red;
if ((image->colorspace == HSLColorspace) ||
(image->colorspace == HSBColorspace) ||
(image->colorspace == HWBColorspace))
@@ -1593,18 +1593,18 @@
angle of 'S'/'W' length with 'L'/'B' forming appropriate cones. In
other words this is a hack - Anthony
*/
- if (fabs((double) (p->red-q->red)) > (QuantumRange/2))
- pixel=(MagickRealType) p->red-q->red-QuantumRange;
+ if (fabs((double) (GetRedPixelComponent(p)-q->red)) > (QuantumRange/2))
+ pixel=(MagickRealType) GetRedPixelComponent(p)-q->red-QuantumRange;
pixel*=2;
}
distance+=scale*pixel*pixel;
if (distance > fuzz)
return(MagickFalse);
- pixel=(MagickRealType) p->green-q->green;
+ pixel=(MagickRealType) GetGreenPixelComponent(p)-q->green;
distance+=scale*pixel*pixel;
if (distance > fuzz)
return(MagickFalse);
- pixel=(MagickRealType) p->blue-q->blue;
+ pixel=(MagickRealType) GetBluePixelComponent(p)-q->blue;
distance+=scale*pixel*pixel;
if (distance > fuzz)
return(MagickFalse);
@@ -1809,7 +1809,7 @@
if ((p->matte != MagickFalse) || (q->matte != MagickFalse))
{
/* transparencies are involved - set alpha distance */
- pixel = ( p->matte != MagickFalse ? p->opacity : OpaqueOpacity )
+ pixel = ( p->matte != MagickFalse ? GetOpacityPixelComponent(p) : OpaqueOpacity )
- ( q->matte != MagickFalse ? q->opacity : OpaqueOpacity );
distance=pixel*pixel;
if (distance > fuzz)
@@ -1842,7 +1842,7 @@
distance*=3.0; /* rescale appropriately */
fuzz*=3.0;
- pixel=p->red-q->red;
+ pixel=GetRedPixelComponent(p)-q->red;
if ((p->colorspace == HSLColorspace) || (p->colorspace == HSBColorspace) ||
(p->colorspace == HWBColorspace))
{
@@ -1851,20 +1851,20 @@
with 'L'/'B' forming appropriate cones.
In other words this is a hack - Anthony
*/
- if (fabs((double) (p->red-q->red)) > (QuantumRange/2))
- pixel=p->red-q->red-QuantumRange;
+ if (fabs((double) (GetRedPixelComponent(p)-q->red)) > (QuantumRange/2))
+ pixel=GetRedPixelComponent(p)-q->red-QuantumRange;
pixel*=2;
}
distance += pixel*pixel*scale;
if (distance > fuzz)
return(MagickFalse);
- pixel=p->green-q->green;
+ pixel=GetGreenPixelComponent(p)-q->green;
distance+=pixel*pixel*scale;
if (distance > fuzz)
return(MagickFalse);
- pixel=p->blue-q->blue;
+ pixel=GetBluePixelComponent(p)-q->blue;
distance+=pixel*pixel*scale;
if (distance > fuzz)
return(MagickFalse);
@@ -1913,10 +1913,10 @@
if (image->matte == MagickFalse)
return(MagickTrue);
- if (p->opacity == q->opacity)
+ if (GetOpacityPixelComponent(p) == q->opacity)
return(MagickTrue);
fuzz=MagickMax(image->fuzz,MagickSQ1_2)*MagickMax(image->fuzz,MagickSQ1_2);
- pixel=(MagickRealType) p->opacity-(MagickRealType) q->opacity;
+ pixel=(MagickRealType) GetOpacityPixelComponent(p)-(MagickRealType) q->opacity;
distance=pixel*pixel;
if (distance > fuzz)
return(MagickFalse);
diff --git a/magick/compare.c b/magick/compare.c
index 446e6e9..8f354cb 100644
--- a/magick/compare.c
+++ b/magick/compare.c
@@ -527,26 +527,26 @@
if ((channel & RedChannel) != 0)
{
- distance=QuantumScale*(p->red-(MagickRealType) q->red);
+ distance=QuantumScale*(GetRedPixelComponent(p)-(MagickRealType) q->red);
channel_distortion[RedChannel]+=distance*distance;
channel_distortion[AllChannels]+=distance*distance;
}
if ((channel & GreenChannel) != 0)
{
- distance=QuantumScale*(p->green-(MagickRealType) q->green);
+ distance=QuantumScale*(GetGreenPixelComponent(p)-(MagickRealType) q->green);
channel_distortion[GreenChannel]+=distance*distance;
channel_distortion[AllChannels]+=distance*distance;
}
if ((channel & BlueChannel) != 0)
{
- distance=QuantumScale*(p->blue-(MagickRealType) q->blue);
+ distance=QuantumScale*(GetBluePixelComponent(p)-(MagickRealType) q->blue);
channel_distortion[BlueChannel]+=distance*distance;
channel_distortion[AllChannels]+=distance*distance;
}
if (((channel & OpacityChannel) != 0) && ((image->matte != MagickFalse) ||
(reconstruct_image->matte != MagickFalse)))
{
- distance=QuantumScale*((image->matte != MagickFalse ? p->opacity :
+ distance=QuantumScale*((image->matte != MagickFalse ? GetOpacityPixelComponent(p) :
OpaqueOpacity)-(reconstruct_image->matte != MagickFalse ?
q->opacity : OpaqueOpacity));
channel_distortion[OpacityChannel]+=distance*distance;
@@ -643,26 +643,26 @@
if ((channel & RedChannel) != 0)
{
- distance=QuantumScale*fabs(p->red-(double) q->red);
+ distance=QuantumScale*fabs(GetRedPixelComponent(p)-(double) q->red);
channel_distortion[RedChannel]+=distance;
channel_distortion[AllChannels]+=distance;
}
if ((channel & GreenChannel) != 0)
{
- distance=QuantumScale*fabs(p->green-(double) q->green);
+ distance=QuantumScale*fabs(GetGreenPixelComponent(p)-(double) q->green);
channel_distortion[GreenChannel]+=distance;
channel_distortion[AllChannels]+=distance;
}
if ((channel & BlueChannel) != 0)
{
- distance=QuantumScale*fabs(p->blue-(double) q->blue);
+ distance=QuantumScale*fabs(GetBluePixelComponent(p)-(double) q->blue);
channel_distortion[BlueChannel]+=distance;
channel_distortion[AllChannels]+=distance;
}
if (((channel & OpacityChannel) != 0) &&
(image->matte != MagickFalse))
{
- distance=QuantumScale*fabs(p->opacity-(double) q->opacity);
+ distance=QuantumScale*fabs(GetOpacityPixelComponent(p)-(double) q->opacity);
channel_distortion[OpacityChannel]+=distance;
channel_distortion[AllChannels]+=distance;
}
@@ -757,7 +757,7 @@
}
if ((channel & RedChannel) != 0)
{
- distance=fabs(alpha*p->red-beta*q->red);
+ distance=fabs(alpha*GetRedPixelComponent(p)-beta*q->red);
distortion[RedChannel]+=distance;
distortion[AllChannels]+=distance;
mean_error+=distance*distance;
@@ -767,7 +767,7 @@
}
if ((channel & GreenChannel) != 0)
{
- distance=fabs(alpha*p->green-beta*q->green);
+ distance=fabs(alpha*GetGreenPixelComponent(p)-beta*q->green);
distortion[GreenChannel]+=distance;
distortion[AllChannels]+=distance;
mean_error+=distance*distance;
@@ -777,7 +777,7 @@
}
if ((channel & BlueChannel) != 0)
{
- distance=fabs(alpha*p->blue-beta*q->blue);
+ distance=fabs(alpha*GetBluePixelComponent(p)-beta*q->blue);
distortion[BlueChannel]+=distance;
distortion[AllChannels]+=distance;
mean_error+=distance*distance;
@@ -788,7 +788,7 @@
if (((channel & OpacityChannel) != 0) &&
(image->matte != MagickFalse))
{
- distance=fabs((double) p->opacity-q->opacity);
+ distance=fabs((double) GetOpacityPixelComponent(p)-q->opacity);
distortion[OpacityChannel]+=distance;
distortion[AllChannels]+=distance;
mean_error+=distance*distance;
@@ -880,26 +880,26 @@
if ((channel & RedChannel) != 0)
{
- distance=QuantumScale*(p->red-(MagickRealType) q->red);
+ distance=QuantumScale*(GetRedPixelComponent(p)-(MagickRealType) q->red);
channel_distortion[RedChannel]+=distance*distance;
channel_distortion[AllChannels]+=distance*distance;
}
if ((channel & GreenChannel) != 0)
{
- distance=QuantumScale*(p->green-(MagickRealType) q->green);
+ distance=QuantumScale*(GetGreenPixelComponent(p)-(MagickRealType) q->green);
channel_distortion[GreenChannel]+=distance*distance;
channel_distortion[AllChannels]+=distance*distance;
}
if ((channel & BlueChannel) != 0)
{
- distance=QuantumScale*(p->blue-(MagickRealType) q->blue);
+ distance=QuantumScale*(GetBluePixelComponent(p)-(MagickRealType) q->blue);
channel_distortion[BlueChannel]+=distance*distance;
channel_distortion[AllChannels]+=distance*distance;
}
if (((channel & OpacityChannel) != 0) &&
(image->matte != MagickFalse))
{
- distance=QuantumScale*(p->opacity-(MagickRealType) q->opacity);
+ distance=QuantumScale*(GetOpacityPixelComponent(p)-(MagickRealType) q->opacity);
channel_distortion[OpacityChannel]+=distance*distance;
channel_distortion[AllChannels]+=distance*distance;
}
@@ -998,20 +998,20 @@
for (x=0; x < (ssize_t) image->columns; x++)
{
if ((channel & RedChannel) != 0)
- distortion[RedChannel]+=area*QuantumScale*(p->red-
+ distortion[RedChannel]+=area*QuantumScale*(GetRedPixelComponent(p)-
image_statistics[RedChannel].mean)*(q->red-
reconstruct_statistics[RedChannel].mean);
if ((channel & GreenChannel) != 0)
- distortion[GreenChannel]+=area*QuantumScale*(p->green-
+ distortion[GreenChannel]+=area*QuantumScale*(GetGreenPixelComponent(p)-
image_statistics[GreenChannel].mean)*(q->green-
reconstruct_statistics[GreenChannel].mean);
if ((channel & BlueChannel) != 0)
- distortion[BlueChannel]+=area*QuantumScale*(p->blue-
+ distortion[BlueChannel]+=area*QuantumScale*(GetBluePixelComponent(p)-
image_statistics[BlueChannel].mean)*(q->blue-
reconstruct_statistics[BlueChannel].mean);
if (((channel & OpacityChannel) != 0) &&
(image->matte != MagickFalse))
- distortion[OpacityChannel]+=area*QuantumScale*(p->opacity-
+ distortion[OpacityChannel]+=area*QuantumScale*(GetOpacityPixelComponent(p)-
image_statistics[OpacityChannel].mean)*(q->opacity-
reconstruct_statistics[OpacityChannel].mean);
if (((channel & IndexChannel) != 0) &&
@@ -1131,7 +1131,7 @@
if ((channel & RedChannel) != 0)
{
- distance=QuantumScale*fabs(p->red-(double) q->red);
+ distance=QuantumScale*fabs(GetRedPixelComponent(p)-(double) q->red);
if (distance > channel_distortion[RedChannel])
channel_distortion[RedChannel]=distance;
if (distance > channel_distortion[AllChannels])
@@ -1139,7 +1139,7 @@
}
if ((channel & GreenChannel) != 0)
{
- distance=QuantumScale*fabs(p->green-(double) q->green);
+ distance=QuantumScale*fabs(GetGreenPixelComponent(p)-(double) q->green);
if (distance > channel_distortion[GreenChannel])
channel_distortion[GreenChannel]=distance;
if (distance > channel_distortion[AllChannels])
@@ -1147,7 +1147,7 @@
}
if ((channel & BlueChannel) != 0)
{
- distance=QuantumScale*fabs(p->blue-(double) q->blue);
+ distance=QuantumScale*fabs(GetBluePixelComponent(p)-(double) q->blue);
if (distance > channel_distortion[BlueChannel])
channel_distortion[BlueChannel]=distance;
if (distance > channel_distortion[AllChannels])
@@ -1156,7 +1156,7 @@
if (((channel & OpacityChannel) != 0) &&
(image->matte != MagickFalse))
{
- distance=QuantumScale*fabs(p->opacity-(double) q->opacity);
+ distance=QuantumScale*fabs(GetOpacityPixelComponent(p)-(double) q->opacity);
if (distance > channel_distortion[OpacityChannel])
channel_distortion[OpacityChannel]=distance;
if (distance > channel_distortion[AllChannels])
@@ -1588,19 +1588,19 @@
MagickRealType
distance;
- distance=fabs(p->red-(double) q->red);
+ distance=fabs(GetRedPixelComponent(p)-(double) q->red);
mean_error_per_pixel+=distance;
mean_error+=distance*distance;
if (distance > maximum_error)
maximum_error=distance;
area++;
- distance=fabs(p->green-(double) q->green);
+ distance=fabs(GetGreenPixelComponent(p)-(double) q->green);
mean_error_per_pixel+=distance;
mean_error+=distance*distance;
if (distance > maximum_error)
maximum_error=distance;
area++;
- distance=fabs(p->blue-(double) q->blue);
+ distance=fabs(GetBluePixelComponent(p)-(double) q->blue);
mean_error_per_pixel+=distance;
mean_error+=distance*distance;
if (distance > maximum_error)
@@ -1608,7 +1608,7 @@
area++;
if (image->matte != MagickFalse)
{
- distance=fabs(p->opacity-(double) q->opacity);
+ distance=fabs(GetOpacityPixelComponent(p)-(double) q->opacity);
mean_error_per_pixel+=distance;
mean_error+=distance*distance;
if (distance > maximum_error)
@@ -1739,17 +1739,17 @@
reconstruct_indexes=GetCacheViewVirtualIndexQueue(reconstruct_view);
for (x=0; x < (ssize_t) image->columns; x++)
{
- distortion+=area*QuantumScale*(p->red-
+ distortion+=area*QuantumScale*(GetRedPixelComponent(p)-
image_statistics[RedChannel].mean)*(q->red-
reconstruct_statistics[RedChannel].mean);
- distortion+=area*QuantumScale*(p->green-
+ distortion+=area*QuantumScale*(GetGreenPixelComponent(p)-
image_statistics[GreenChannel].mean)*(q->green-
reconstruct_statistics[GreenChannel].mean);
- distortion+=area*QuantumScale*(p->blue-
+ distortion+=area*QuantumScale*(GetBluePixelComponent(p)-
image_statistics[BlueChannel].mean)*(q->blue-
reconstruct_statistics[BlueChannel].mean);
if (image->matte != MagickFalse)
- distortion+=area*QuantumScale*(p->opacity-
+ distortion+=area*QuantumScale*(GetOpacityPixelComponent(p)-
image_statistics[OpacityChannel].mean)*(q->opacity-
reconstruct_statistics[OpacityChannel].mean);
if ((image->colorspace == CMYKColorspace) &&
diff --git a/magick/composite-private.h b/magick/composite-private.h
index beb6372..ae9a1eb 100644
--- a/magick/composite-private.h
+++ b/magick/composite-private.h
@@ -62,20 +62,20 @@
#if !defined(MAGICKCORE_HDRI_SUPPORT)
composite->opacity=(Quantum) (QuantumRange*(1.0-gamma)+0.5);
gamma=1.0/(gamma <= MagickEpsilon ? 1.0 : gamma);
- composite->red=(Quantum) (gamma*MagickOver_((MagickRealType) p->red,alpha,
+ composite->red=(Quantum) (gamma*MagickOver_((MagickRealType) GetRedPixelComponent(p),alpha,
(MagickRealType) q->red,beta)+0.5);
- composite->green=(Quantum) (gamma*MagickOver_((MagickRealType) p->green,alpha,
+ composite->green=(Quantum) (gamma*MagickOver_((MagickRealType) GetGreenPixelComponent(p),alpha,
(MagickRealType) q->green,beta)+0.5);
- composite->blue=(Quantum) (gamma*MagickOver_((MagickRealType) p->blue,alpha,
+ composite->blue=(Quantum) (gamma*MagickOver_((MagickRealType) GetBluePixelComponent(p),alpha,
(MagickRealType) q->blue,beta)+0.5);
#else
composite->opacity=(Quantum) (QuantumRange*(1.0-gamma));
gamma=1.0/(gamma <= MagickEpsilon ? 1.0 : gamma);
- composite->red=(Quantum) (gamma*MagickOver_((MagickRealType) p->red,alpha,
+ composite->red=(Quantum) (gamma*MagickOver_((MagickRealType) GetRedPixelComponent(p),alpha,
(MagickRealType) q->red,beta));
- composite->green=(Quantum) (gamma*MagickOver_((MagickRealType) p->green,alpha,
+ composite->green=(Quantum) (gamma*MagickOver_((MagickRealType) GetGreenPixelComponent(p),alpha,
(MagickRealType) q->green,beta));
- composite->blue=(Quantum) (gamma*MagickOver_((MagickRealType) p->blue,alpha,
+ composite->blue=(Quantum) (gamma*MagickOver_((MagickRealType) GetBluePixelComponent(p),alpha,
(MagickRealType) q->blue,beta));
#endif
}
@@ -122,9 +122,9 @@
gamma=RoundToUnity(Sa+Da); /* 'Plus' blending -- not 'Over' blending */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=1.0/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*(Sa*p->red+Da*q->red);
- composite->green=gamma*(Sa*p->green+Da*q->green);
- composite->blue=gamma*(Sa*p->blue+Da*q->blue);
+ composite->red=gamma*(Sa*GetRedPixelComponent(p)+Da*q->red);
+ composite->green=gamma*(Sa*GetGreenPixelComponent(p)+Da*q->green);
+ composite->blue=gamma*(Sa*GetBluePixelComponent(p)+Da*q->blue);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*(Sa*p->index+Da*q->index);
}
@@ -137,7 +137,7 @@
const MagickRealType beta,MagickPixelPacket *composite)
{
MagickPixelCompositePlus(p,(MagickRealType) (QuantumRange-alpha*
- (QuantumRange-p->opacity)),q,(MagickRealType) (QuantumRange-beta*
+ (QuantumRange-GetOpacityPixelComponent(p))),q,(MagickRealType) (QuantumRange-beta*
GetAlphaPixelComponent(q)),composite);
}
diff --git a/magick/composite.c b/magick/composite.c
index f1c6880..6f7509e 100644
--- a/magick/composite.c
+++ b/magick/composite.c
@@ -211,7 +211,7 @@
MagickRealType
Sa;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
composite->opacity=q->opacity; /* optimized Da = 1.0-Gamma */
composite->red=Atop(GetRedPixelComponent(p),Sa,q->red,1.0);
composite->green=Atop(GetGreenPixelComponent(p),Sa,q->green,1.0);
@@ -281,16 +281,16 @@
gamma,
Sa;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=QuantumRange/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*ColorBurn(QuantumScale*p->red*Sa,Sa,QuantumScale*
+ composite->red=gamma*ColorBurn(QuantumScale*GetRedPixelComponent(p)*Sa,Sa,QuantumScale*
q->red*Da,Da);
- composite->green=gamma*ColorBurn(QuantumScale*p->green*Sa,Sa,QuantumScale*
+ composite->green=gamma*ColorBurn(QuantumScale*GetGreenPixelComponent(p)*Sa,Sa,QuantumScale*
q->green*Da,Da);
- composite->blue=gamma*ColorBurn(QuantumScale*p->blue*Sa,Sa,QuantumScale*
+ composite->blue=gamma*ColorBurn(QuantumScale*GetBluePixelComponent(p)*Sa,Sa,QuantumScale*
q->blue*Da,Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*ColorBurn(QuantumScale*p->index*Sa,Sa,QuantumScale*
@@ -343,16 +343,16 @@
gamma,
Sa;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=QuantumRange/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*ColorDodge(QuantumScale*p->red*Sa,Sa,QuantumScale*
+ composite->red=gamma*ColorDodge(QuantumScale*GetRedPixelComponent(p)*Sa,Sa,QuantumScale*
q->red*Da,Da);
- composite->green=gamma*ColorDodge(QuantumScale*p->green*Sa,Sa,QuantumScale*
+ composite->green=gamma*ColorDodge(QuantumScale*GetGreenPixelComponent(p)*Sa,Sa,QuantumScale*
q->green*Da,Da);
- composite->blue=gamma*ColorDodge(QuantumScale*p->blue*Sa,Sa,QuantumScale*
+ composite->blue=gamma*ColorDodge(QuantumScale*GetBluePixelComponent(p)*Sa,Sa,QuantumScale*
q->blue*Da,Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*ColorDodge(QuantumScale*p->index*Sa,Sa,QuantumScale*
@@ -380,14 +380,14 @@
gamma;
if ( (channel & SyncChannels) != 0 ) {
- composite->opacity=QuantumScale*p->opacity*q->opacity; /* Over Blend */
+ composite->opacity=QuantumScale*GetOpacityPixelComponent(p)*q->opacity; /* Over Blend */
gamma=1.0-QuantumScale*composite->opacity;
gamma=1.0/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*Darken(GetRedPixelComponent(p),p->opacity,q->red,q->opacity);
- composite->green=gamma*Darken(GetGreenPixelComponent(p),p->opacity,q->green,q->opacity);
- composite->blue=gamma*Darken(GetBluePixelComponent(p),p->opacity,q->blue,q->opacity);
+ composite->red=gamma*Darken(GetRedPixelComponent(p),GetOpacityPixelComponent(p),q->red,q->opacity);
+ composite->green=gamma*Darken(GetGreenPixelComponent(p),GetOpacityPixelComponent(p),q->green,q->opacity);
+ composite->blue=gamma*Darken(GetBluePixelComponent(p),GetOpacityPixelComponent(p),q->blue,q->opacity);
if (q->colorspace == CMYKColorspace)
- composite->index=gamma*Darken(p->index,p->opacity,q->index,q->opacity);
+ composite->index=gamma*Darken(p->index,GetOpacityPixelComponent(p),q->index,q->opacity);
}
else { /* handle channels as separate grayscale channels */
if ( (channel & AlphaChannel) != 0 )
@@ -417,7 +417,7 @@
Da,
Sa;
- Sa=1.0-QuantumScale*p->opacity;
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p);
Da=1.0-QuantumScale*q->opacity;
*composite = (Sa*MagickPixelIntensity(p) < Da*MagickPixelIntensity(q))
? *p : *q;
@@ -425,13 +425,13 @@
else {
int from_p = (MagickPixelIntensity(p) < MagickPixelIntensity(q));
if ( (channel & AlphaChannel) != 0 )
- composite->opacity = from_p ? p->opacity : q->opacity;
+ composite->opacity = from_p ? GetOpacityPixelComponent(p) : q->opacity;
if ( (channel & RedChannel) != 0 )
- composite->red = from_p ? p->red : q->red;
+ composite->red = from_p ? GetRedPixelComponent(p) : q->red;
if ( (channel & GreenChannel) != 0 )
- composite->green = from_p ? p->green : q->green;
+ composite->green = from_p ? GetGreenPixelComponent(p) : q->green;
if ( (channel & BlueChannel) != 0 )
- composite->blue = from_p ? p->blue : q->blue;
+ composite->blue = from_p ? GetBluePixelComponent(p) : q->blue;
if ( (channel & IndexChannel) != 0 && q->colorspace == CMYKColorspace)
composite->index = from_p ? p->index : q->index;
}
@@ -453,7 +453,7 @@
gamma,
Sa;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
if ( (channel & SyncChannels) != 0 ) {
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
@@ -468,13 +468,13 @@
}
else { /* handle channels as separate grayscale channels */
if ( (channel & AlphaChannel) != 0 )
- composite->opacity=QuantumRange-fabs(p->opacity - q->opacity);
+ composite->opacity=QuantumRange-fabs(GetOpacityPixelComponent(p) - q->opacity);
if ( (channel & RedChannel) != 0 )
- composite->red=fabs(p->red - q->red);
+ composite->red=fabs(GetRedPixelComponent(p) - q->red);
if ( (channel & GreenChannel) != 0 )
- composite->green=fabs(p->green - q->green);
+ composite->green=fabs(GetGreenPixelComponent(p) - q->green);
if ( (channel & BlueChannel) != 0 )
- composite->blue=fabs(p->blue - q->blue);
+ composite->blue=fabs(GetBluePixelComponent(p) - q->blue);
if ( (channel & IndexChannel) != 0 && q->colorspace == CMYKColorspace)
composite->index=fabs(p->index - q->index);
}
@@ -509,17 +509,17 @@
gamma,
Sa;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
if ( (channel & SyncChannels) != 0 ) {
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=QuantumRange/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*Divide(QuantumScale*p->red*Sa,Sa,QuantumScale*
+ composite->red=gamma*Divide(QuantumScale*GetRedPixelComponent(p)*Sa,Sa,QuantumScale*
q->red*Da,Da);
- composite->green=gamma*Divide(QuantumScale*p->green*Sa,Sa,QuantumScale*
+ composite->green=gamma*Divide(QuantumScale*GetGreenPixelComponent(p)*Sa,Sa,QuantumScale*
q->green*Da,Da);
- composite->blue=gamma*Divide(QuantumScale*p->blue*Sa,Sa,QuantumScale*
+ composite->blue=gamma*Divide(QuantumScale*GetBluePixelComponent(p)*Sa,Sa,QuantumScale*
q->blue*Da,Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*Divide(QuantumScale*p->index*Sa,Sa,QuantumScale*
@@ -530,13 +530,13 @@
composite->opacity=QuantumRange*(1.0-Divide(Sa,1.0,Da,1.0));
if ( (channel & RedChannel) != 0 )
composite->red=QuantumRange*
- Divide(QuantumScale*p->red,1.0,QuantumScale*q->red,1.0);
+ Divide(QuantumScale*GetRedPixelComponent(p),1.0,QuantumScale*q->red,1.0);
if ( (channel & GreenChannel) != 0 )
composite->green=QuantumRange*
- Divide(QuantumScale*p->green,1.0,QuantumScale*q->green,1.0);
+ Divide(QuantumScale*GetGreenPixelComponent(p),1.0,QuantumScale*q->green,1.0);
if ( (channel & BlueChannel) != 0 )
composite->blue=QuantumRange*
- Divide(QuantumScale*p->blue,1.0,QuantumScale*q->blue,1.0);
+ Divide(QuantumScale*GetBluePixelComponent(p),1.0,QuantumScale*q->blue,1.0);
if ( (channel & IndexChannel) != 0 && q->colorspace == CMYKColorspace)
composite->index=QuantumRange*
Divide(QuantumScale*p->index,1.0,QuantumScale*q->index,1.0);
@@ -558,17 +558,17 @@
Sa,
Da;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
if ( (channel & SyncChannels) != 0 ) {
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=QuantumRange/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*Exclusion(QuantumScale*p->red*Sa,Sa,QuantumScale*
+ composite->red=gamma*Exclusion(QuantumScale*GetRedPixelComponent(p)*Sa,Sa,QuantumScale*
q->red*Da,Da);
- composite->green=gamma*Exclusion(QuantumScale*p->green*Sa,Sa,QuantumScale*
+ composite->green=gamma*Exclusion(QuantumScale*GetGreenPixelComponent(p)*Sa,Sa,QuantumScale*
q->green*Da,Da);
- composite->blue=gamma*Exclusion(QuantumScale*p->blue*Sa,Sa,QuantumScale*
+ composite->blue=gamma*Exclusion(QuantumScale*GetBluePixelComponent(p)*Sa,Sa,QuantumScale*
q->blue*Da,Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*Exclusion(QuantumScale*p->index*Sa,Sa,QuantumScale*
@@ -579,13 +579,13 @@
composite->opacity=QuantumRange*(1.0-Exclusion(Sa,1.0,Da,1.0));
if ( (channel & RedChannel) != 0 )
composite->red=QuantumRange*
- Exclusion(QuantumScale*p->red,1.0,QuantumScale*q->red,1.0);
+ Exclusion(QuantumScale*GetRedPixelComponent(p),1.0,QuantumScale*q->red,1.0);
if ( (channel & GreenChannel) != 0 )
composite->green=QuantumRange*
- Exclusion(QuantumScale*p->green,1.0,QuantumScale*q->green,1.0);
+ Exclusion(QuantumScale*GetGreenPixelComponent(p),1.0,QuantumScale*q->green,1.0);
if ( (channel & BlueChannel) != 0 )
composite->blue=QuantumRange*
- Exclusion(QuantumScale*p->blue,1.0,QuantumScale*q->blue,1.0);
+ Exclusion(QuantumScale*GetBluePixelComponent(p),1.0,QuantumScale*q->blue,1.0);
if ( (channel & IndexChannel) != 0 && q->colorspace == CMYKColorspace)
composite->index=QuantumRange*
Exclusion(QuantumScale*p->index,1.0,QuantumScale*q->index,1.0);
@@ -608,16 +608,16 @@
gamma,
Sa;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=QuantumRange/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*HardLight(QuantumScale*p->red*Sa,Sa,QuantumScale*
+ composite->red=gamma*HardLight(QuantumScale*GetRedPixelComponent(p)*Sa,Sa,QuantumScale*
q->red*Da,Da);
- composite->green=gamma*HardLight(QuantumScale*p->green*Sa,Sa,QuantumScale*
+ composite->green=gamma*HardLight(QuantumScale*GetGreenPixelComponent(p)*Sa,Sa,QuantumScale*
q->green*Da,Da);
- composite->blue=gamma*HardLight(QuantumScale*p->blue*Sa,Sa,QuantumScale*
+ composite->blue=gamma*HardLight(QuantumScale*GetBluePixelComponent(p)*Sa,Sa,QuantumScale*
q->blue*Da,Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*HardLight(QuantumScale*p->index*Sa,Sa,QuantumScale*
@@ -681,7 +681,7 @@
Sa,
Da;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
gamma=Sa*Da;
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
@@ -714,14 +714,14 @@
gamma;
if ( (channel & SyncChannels) != 0 ) {
- composite->opacity=QuantumScale*p->opacity*q->opacity; /* Over Blend */
+ composite->opacity=QuantumScale*GetOpacityPixelComponent(p)*q->opacity; /* Over Blend */
gamma=1.0-QuantumScale*composite->opacity;
gamma=1.0/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*Lighten(GetRedPixelComponent(p),p->opacity,q->red,q->opacity);
- composite->green=gamma*Lighten(GetGreenPixelComponent(p),p->opacity,q->green,q->opacity);
- composite->blue=gamma*Lighten(GetBluePixelComponent(p),p->opacity,q->blue,q->opacity);
+ composite->red=gamma*Lighten(GetRedPixelComponent(p),GetOpacityPixelComponent(p),q->red,q->opacity);
+ composite->green=gamma*Lighten(GetGreenPixelComponent(p),GetOpacityPixelComponent(p),q->green,q->opacity);
+ composite->blue=gamma*Lighten(GetBluePixelComponent(p),GetOpacityPixelComponent(p),q->blue,q->opacity);
if (q->colorspace == CMYKColorspace)
- composite->index=gamma*Lighten(p->index,p->opacity,q->index,q->opacity);
+ composite->index=gamma*Lighten(p->index,GetOpacityPixelComponent(p),q->index,q->opacity);
}
else { /* handle channels as separate grayscale channels */
if ( (channel & AlphaChannel) != 0 )
@@ -751,7 +751,7 @@
Da,
Sa;
- Sa=1.0-QuantumScale*p->opacity;
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p);
Da=1.0-QuantumScale*q->opacity;
*composite = (Sa*MagickPixelIntensity(p) > Da*MagickPixelIntensity(q))
? *p : *q;
@@ -759,13 +759,13 @@
else {
int from_p = (MagickPixelIntensity(p) > MagickPixelIntensity(q));
if ( (channel & AlphaChannel) != 0 )
- composite->opacity = from_p ? p->opacity : q->opacity;
+ composite->opacity = from_p ? GetOpacityPixelComponent(p) : q->opacity;
if ( (channel & RedChannel) != 0 )
- composite->red = from_p ? p->red : q->red;
+ composite->red = from_p ? GetRedPixelComponent(p) : q->red;
if ( (channel & GreenChannel) != 0 )
- composite->green = from_p ? p->green : q->green;
+ composite->green = from_p ? GetGreenPixelComponent(p) : q->green;
if ( (channel & BlueChannel) != 0 )
- composite->blue = from_p ? p->blue : q->blue;
+ composite->blue = from_p ? GetBluePixelComponent(p) : q->blue;
if ( (channel & IndexChannel) != 0 && q->colorspace == CMYKColorspace)
composite->index = from_p ? p->index : q->index;
}
@@ -792,14 +792,14 @@
gamma,
Sa;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=1.0/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*(p->red*Sa+q->red*Da);
- composite->green=gamma*(p->green*Sa+q->green*Da);
- composite->blue=gamma*(p->blue*Sa+q->blue*Da);
+ composite->red=gamma*(GetRedPixelComponent(p)*Sa+q->red*Da);
+ composite->green=gamma*(GetGreenPixelComponent(p)*Sa+q->green*Da);
+ composite->blue=gamma*(GetBluePixelComponent(p)*Sa+q->blue*Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*(p->index*Sa+q->index*Da);
}
@@ -825,16 +825,16 @@
gamma,
Sa;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=QuantumRange/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*LinearBurn(QuantumScale*p->red*Sa,Sa,QuantumScale*
+ composite->red=gamma*LinearBurn(QuantumScale*GetRedPixelComponent(p)*Sa,Sa,QuantumScale*
q->red*Da,Da);
- composite->green=gamma*LinearBurn(QuantumScale*p->green*Sa,Sa,QuantumScale*
+ composite->green=gamma*LinearBurn(QuantumScale*GetGreenPixelComponent(p)*Sa,Sa,QuantumScale*
q->green*Da,Da);
- composite->blue=gamma*LinearBurn(QuantumScale*p->blue*Sa,Sa,QuantumScale*
+ composite->blue=gamma*LinearBurn(QuantumScale*GetBluePixelComponent(p)*Sa,Sa,QuantumScale*
q->blue*Da,Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*LinearBurn(QuantumScale*p->index*Sa,Sa,QuantumScale*
@@ -868,16 +868,16 @@
gamma,
Sa;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=QuantumRange/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*LinearLight(QuantumScale*p->red*Sa,Sa,QuantumScale*
+ composite->red=gamma*LinearLight(QuantumScale*GetRedPixelComponent(p)*Sa,Sa,QuantumScale*
q->red*Da,Da);
- composite->green=gamma*LinearLight(QuantumScale*p->green*Sa,Sa,QuantumScale*
+ composite->green=gamma*LinearLight(QuantumScale*GetGreenPixelComponent(p)*Sa,Sa,QuantumScale*
q->green*Da,Da);
- composite->blue=gamma*LinearLight(QuantumScale*p->blue*Sa,Sa,QuantumScale*
+ composite->blue=gamma*LinearLight(QuantumScale*GetBluePixelComponent(p)*Sa,Sa,QuantumScale*
q->blue*Da,Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*LinearLight(QuantumScale*p->index*Sa,Sa,QuantumScale*
@@ -926,11 +926,11 @@
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=QuantumRange/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*Mathematics(QuantumScale*p->red*Sa,Sa,QuantumScale*
+ composite->red=gamma*Mathematics(QuantumScale*GetRedPixelComponent(p)*Sa,Sa,QuantumScale*
q->red*Da,Da,args);
- composite->green=gamma*Mathematics(QuantumScale*p->green*Sa,Sa,QuantumScale*
+ composite->green=gamma*Mathematics(QuantumScale*GetGreenPixelComponent(p)*Sa,Sa,QuantumScale*
q->green*Da,Da,args);
- composite->blue=gamma*Mathematics(QuantumScale*p->blue*Sa,Sa,QuantumScale*
+ composite->blue=gamma*Mathematics(QuantumScale*GetBluePixelComponent(p)*Sa,Sa,QuantumScale*
q->blue*Da,Da,args);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*Mathematics(QuantumScale*p->index*Sa,Sa,QuantumScale*
@@ -941,13 +941,13 @@
composite->opacity=QuantumRange*(1.0-Mathematics(Sa,1.0,Da,1.0,args));
if ( (channel & RedChannel) != 0 )
composite->red=QuantumRange*
- Mathematics(QuantumScale*p->red,1.0,QuantumScale*q->red,1.0,args);
+ Mathematics(QuantumScale*GetRedPixelComponent(p),1.0,QuantumScale*q->red,1.0,args);
if ( (channel & GreenChannel) != 0 )
composite->green=QuantumRange*
- Mathematics(QuantumScale*p->green,1.0,QuantumScale*q->green,1.0,args);
+ Mathematics(QuantumScale*GetGreenPixelComponent(p),1.0,QuantumScale*q->green,1.0,args);
if ( (channel & BlueChannel) != 0 )
composite->blue=QuantumRange*
- Mathematics(QuantumScale*p->blue,1.0,QuantumScale*q->blue,1.0,args);
+ Mathematics(QuantumScale*GetBluePixelComponent(p),1.0,QuantumScale*q->blue,1.0,args);
if ( (channel & IndexChannel) != 0 && q->colorspace == CMYKColorspace)
composite->index=QuantumRange*
Mathematics(QuantumScale*p->index,1.0,QuantumScale*q->index,1.0,args);
@@ -975,17 +975,17 @@
The MagickPixelCompositePlus() function is defined in
"composite-private.h" so it can also be used for Image Blending.
*/
- MagickPixelCompositePlus(p,p->opacity,q,q->opacity,composite);
+ MagickPixelCompositePlus(p,GetOpacityPixelComponent(p),q,q->opacity,composite);
}
else { /* handle channels as separate grayscale channels */
if ( (channel & AlphaChannel) != 0 )
- composite->opacity=p->opacity+q->opacity-QuantumRange;
+ composite->opacity=GetOpacityPixelComponent(p)+q->opacity-QuantumRange;
if ( (channel & RedChannel) != 0 )
- composite->red=p->red+q->red;
+ composite->red=GetRedPixelComponent(p)+q->red;
if ( (channel & GreenChannel) != 0 )
- composite->green=p->green+q->green;
+ composite->green=GetGreenPixelComponent(p)+q->green;
if ( (channel & BlueChannel) != 0 )
- composite->blue=p->blue+q->blue;
+ composite->blue=GetBluePixelComponent(p)+q->blue;
if ( (channel & IndexChannel) != 0 && q->colorspace == CMYKColorspace)
composite->index=p->index+q->index;
}
@@ -1013,15 +1013,15 @@
Da,
gamma;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
if ( (channel & SyncChannels) != 0 ) {
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=1.0/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*Minus(p->red*Sa,Sa,q->red*Da,Da);
- composite->green=gamma*Minus(p->green*Sa,Sa,q->green*Da,Da);
- composite->blue=gamma*Minus(p->blue*Sa,Sa,q->blue*Da,Da);
+ composite->red=gamma*Minus(GetRedPixelComponent(p)*Sa,Sa,q->red*Da,Da);
+ composite->green=gamma*Minus(GetGreenPixelComponent(p)*Sa,Sa,q->green*Da,Da);
+ composite->blue=gamma*Minus(GetBluePixelComponent(p)*Sa,Sa,q->blue*Da,Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*Minus(p->index*Sa,Sa,q->index*Da,Da);
}
@@ -1029,11 +1029,11 @@
if ( (channel & AlphaChannel) != 0 )
composite->opacity=QuantumRange*(1.0-(Sa-Da));
if ( (channel & RedChannel) != 0 )
- composite->red=p->red-q->red;
+ composite->red=GetRedPixelComponent(p)-q->red;
if ( (channel & GreenChannel) != 0 )
- composite->green=p->green-q->green;
+ composite->green=GetGreenPixelComponent(p)-q->green;
if ( (channel & BlueChannel) != 0 )
- composite->blue=p->blue-q->blue;
+ composite->blue=GetBluePixelComponent(p)-q->blue;
if ( (channel & IndexChannel) != 0 && q->colorspace == CMYKColorspace)
composite->index=p->index-q->index;
}
@@ -1061,7 +1061,7 @@
Da,
gamma;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
@@ -1074,7 +1074,7 @@
}
else { /* handle channels as separate grayscale channels */
if ( (channel & AlphaChannel) != 0 )
- composite->opacity=QuantumRange-ModulusAdd(QuantumRange-p->opacity,
+ composite->opacity=QuantumRange-ModulusAdd(QuantumRange-GetOpacityPixelComponent(p),
1.0,QuantumRange-q->opacity,1.0);
if ( (channel & RedChannel) != 0 )
composite->red=ModulusAdd(GetRedPixelComponent(p),1.0,q->red,1.0);
@@ -1109,7 +1109,7 @@
Da,
gamma;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
gamma = RoundToUnity(Sa+Da-Sa*Da);
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
@@ -1122,7 +1122,7 @@
}
else { /* handle channels as separate grayscale channels */
if ( (channel & AlphaChannel) != 0 )
- composite->opacity=QuantumRange-ModulusSubtract(QuantumRange-p->opacity,
+ composite->opacity=QuantumRange-ModulusSubtract(QuantumRange-GetOpacityPixelComponent(p),
1.0,QuantumRange-q->opacity,1.0);
if ( (channel & RedChannel) != 0 )
composite->red=ModulusSubtract(GetRedPixelComponent(p),1.0,q->red,1.0);
@@ -1150,17 +1150,17 @@
gamma,
Sa;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
if ( (channel & SyncChannels) != 0 ) {
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=QuantumRange/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*Multiply(QuantumScale*p->red*Sa,Sa,QuantumScale*
+ composite->red=gamma*Multiply(QuantumScale*GetRedPixelComponent(p)*Sa,Sa,QuantumScale*
q->red*Da,Da);
- composite->green=gamma*Multiply(QuantumScale*p->green*Sa,Sa,QuantumScale*
+ composite->green=gamma*Multiply(QuantumScale*GetGreenPixelComponent(p)*Sa,Sa,QuantumScale*
q->green*Da,Da);
- composite->blue=gamma*Multiply(QuantumScale*p->blue*Sa,Sa,QuantumScale*
+ composite->blue=gamma*Multiply(QuantumScale*GetBluePixelComponent(p)*Sa,Sa,QuantumScale*
q->blue*Da,Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*Multiply(QuantumScale*p->index*Sa,Sa,QuantumScale*
@@ -1170,11 +1170,11 @@
if ( (channel & AlphaChannel) != 0 )
composite->opacity=QuantumRange*(1.0-Sa*Da);
if ( (channel & RedChannel) != 0 )
- composite->red=QuantumScale*p->red*q->red;
+ composite->red=QuantumScale*GetRedPixelComponent(p)*q->red;
if ( (channel & GreenChannel) != 0 )
- composite->green=QuantumScale*p->green*q->green;
+ composite->green=QuantumScale*GetGreenPixelComponent(p)*q->green;
if ( (channel & BlueChannel) != 0 )
- composite->blue=QuantumScale*p->blue*q->blue;
+ composite->blue=QuantumScale*GetBluePixelComponent(p)*q->blue;
if ( (channel & IndexChannel) != 0 && q->colorspace == CMYKColorspace)
composite->index=QuantumScale*p->index*q->index;
}
@@ -1195,7 +1195,7 @@
Da,
gamma;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
gamma=Sa*(1.0-Da);
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
@@ -1231,16 +1231,16 @@
gamma,
Sa;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=QuantumRange/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*PegtopLight(QuantumScale*p->red*Sa,Sa,QuantumScale*
+ composite->red=gamma*PegtopLight(QuantumScale*GetRedPixelComponent(p)*Sa,Sa,QuantumScale*
q->red*Da,Da);
- composite->green=gamma*PegtopLight(QuantumScale*p->green*Sa,Sa,QuantumScale*
+ composite->green=gamma*PegtopLight(QuantumScale*GetGreenPixelComponent(p)*Sa,Sa,QuantumScale*
q->green*Da,Da);
- composite->blue=gamma*PegtopLight(QuantumScale*p->blue*Sa,Sa,QuantumScale*
+ composite->blue=gamma*PegtopLight(QuantumScale*GetBluePixelComponent(p)*Sa,Sa,QuantumScale*
q->blue*Da,Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*PegtopLight(QuantumScale*p->index*Sa,Sa,QuantumScale*
@@ -1271,16 +1271,16 @@
gamma,
Sa;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=QuantumRange/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*PinLight(QuantumScale*p->red*Sa,Sa,QuantumScale*
+ composite->red=gamma*PinLight(QuantumScale*GetRedPixelComponent(p)*Sa,Sa,QuantumScale*
q->red*Da,Da);
- composite->green=gamma*PinLight(QuantumScale*p->green*Sa,Sa,QuantumScale*
+ composite->green=gamma*PinLight(QuantumScale*GetGreenPixelComponent(p)*Sa,Sa,QuantumScale*
q->green*Da,Da);
- composite->blue=gamma*PinLight(QuantumScale*p->blue*Sa,Sa,QuantumScale*
+ composite->blue=gamma*PinLight(QuantumScale*GetBluePixelComponent(p)*Sa,Sa,QuantumScale*
q->blue*Da,Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*PinLight(QuantumScale*p->index*Sa,Sa,QuantumScale*
@@ -1305,16 +1305,16 @@
Da,
gamma;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
if ( (channel & SyncChannels) != 0 ) {
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
Sa*=QuantumScale; Da*=QuantumScale; /* optimization */
gamma=QuantumRange/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*Screen(p->red*Sa,q->red*Da);
- composite->green=gamma*Screen(p->green*Sa,q->green*Da);
- composite->blue=gamma*Screen(p->blue*Sa,q->blue*Da);
+ composite->red=gamma*Screen(GetRedPixelComponent(p)*Sa,q->red*Da);
+ composite->green=gamma*Screen(GetGreenPixelComponent(p)*Sa,q->green*Da);
+ composite->blue=gamma*Screen(GetBluePixelComponent(p)*Sa,q->blue*Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*Screen(p->index*Sa,q->index*Da);
}
@@ -1322,13 +1322,13 @@
if ( (channel & AlphaChannel) != 0 )
composite->opacity=QuantumRange*(1.0-Screen(Sa,Da));
if ( (channel & RedChannel) != 0 )
- composite->red=QuantumRange*Screen(QuantumScale*p->red,
+ composite->red=QuantumRange*Screen(QuantumScale*GetRedPixelComponent(p),
QuantumScale*q->red);
if ( (channel & GreenChannel) != 0 )
- composite->green=QuantumRange*Screen(QuantumScale*p->green,
+ composite->green=QuantumRange*Screen(QuantumScale*GetGreenPixelComponent(p),
QuantumScale*q->green);
if ( (channel & BlueChannel) != 0 )
- composite->blue=QuantumRange*Screen(QuantumScale*p->blue,
+ composite->blue=QuantumRange*Screen(QuantumScale*GetBluePixelComponent(p),
QuantumScale*q->blue);
if ( (channel & IndexChannel) != 0 && q->colorspace == CMYKColorspace)
composite->index=QuantumRange*Screen(QuantumScale*p->index,
@@ -1381,16 +1381,16 @@
gamma,
Sa;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=QuantumRange/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*SoftLight(QuantumScale*p->red*Sa,Sa,QuantumScale*
+ composite->red=gamma*SoftLight(QuantumScale*GetRedPixelComponent(p)*Sa,Sa,QuantumScale*
q->red*Da,Da);
- composite->green=gamma*SoftLight(QuantumScale*p->green*Sa,Sa,QuantumScale*
+ composite->green=gamma*SoftLight(QuantumScale*GetGreenPixelComponent(p)*Sa,Sa,QuantumScale*
q->green*Da,Da);
- composite->blue=gamma*SoftLight(QuantumScale*p->blue*Sa,Sa,QuantumScale*
+ composite->blue=gamma*SoftLight(QuantumScale*GetBluePixelComponent(p)*Sa,Sa,QuantumScale*
q->blue*Da,Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*SoftLight(QuantumScale*p->index*Sa,Sa,QuantumScale*
@@ -1454,16 +1454,16 @@
gamma,
Sa;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
gamma=RoundToUnity(Sa+Da-Sa*Da); /* over blend, as per SVG doc */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=QuantumRange/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*VividLight(QuantumScale*p->red*Sa,Sa,QuantumScale*
+ composite->red=gamma*VividLight(QuantumScale*GetRedPixelComponent(p)*Sa,Sa,QuantumScale*
q->red*Da,Da);
- composite->green=gamma*VividLight(QuantumScale*p->green*Sa,Sa,QuantumScale*
+ composite->green=gamma*VividLight(QuantumScale*GetGreenPixelComponent(p)*Sa,Sa,QuantumScale*
q->green*Da,Da);
- composite->blue=gamma*VividLight(QuantumScale*p->blue*Sa,Sa,QuantumScale*
+ composite->blue=gamma*VividLight(QuantumScale*GetBluePixelComponent(p)*Sa,Sa,QuantumScale*
q->blue*Da,Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*VividLight(QuantumScale*p->index*Sa,Sa,QuantumScale*
@@ -1484,14 +1484,14 @@
gamma,
Sa;
- Sa=1.0-QuantumScale*p->opacity; /* simplify and speed up equations */
+ Sa=1.0-QuantumScale*GetOpacityPixelComponent(p); /* simplify and speed up equations */
Da=1.0-QuantumScale*q->opacity;
gamma=Sa+Da-2*Sa*Da; /* Xor blend mode X=0,Y=1,Z=1 */
composite->opacity=(MagickRealType) QuantumRange*(1.0-gamma);
gamma=1.0/(fabs(gamma) <= MagickEpsilon ? 1.0 : gamma);
- composite->red=gamma*Xor(p->red*Sa,Sa,q->red*Da,Da);
- composite->green=gamma*Xor(p->green*Sa,Sa,q->green*Da,Da);
- composite->blue=gamma*Xor(p->blue*Sa,Sa,q->blue*Da,Da);
+ composite->red=gamma*Xor(GetRedPixelComponent(p)*Sa,Sa,q->red*Da,Da);
+ composite->green=gamma*Xor(GetGreenPixelComponent(p)*Sa,Sa,q->green*Da,Da);
+ composite->blue=gamma*Xor(GetBluePixelComponent(p)*Sa,Sa,q->blue*Da,Da);
if (q->colorspace == CMYKColorspace)
composite->index=gamma*Xor(p->index*Sa,Sa,q->index*Da,Da);
}
@@ -1884,8 +1884,8 @@
blur.y1=(-height*sin(angle));
blur.y2=height*cos(angle);
}
- ScaleResampleFilter(resample_filter,blur.x1*QuantumScale*p->red,
- blur.y1*QuantumScale*p->green,blur.x2*QuantumScale*p->red,
+ ScaleResampleFilter(resample_filter,blur.x1*QuantumScale*GetRedPixelComponent(p),
+ blur.y1*QuantumScale*GetGreenPixelComponent(p),blur.x2*QuantumScale*GetRedPixelComponent(p),
blur.y2*QuantumScale*GetGreenPixelComponent(p));
(void) ResamplePixelColor(resample_filter,(double) x_offset+x,
(double) y_offset+y,&pixel);
@@ -2049,10 +2049,10 @@
/*
Displace the offset.
*/
- offset.x=(horizontal_scale*(p->red-(((MagickRealType) QuantumRange+
+ offset.x=(horizontal_scale*(GetRedPixelComponent(p)-(((MagickRealType) QuantumRange+
1.0)/2.0)))/(((MagickRealType) QuantumRange+1.0)/2.0)+
center.x+((compose == DisplaceCompositeOp) ? x : 0);
- offset.y=(vertical_scale*(p->green-(((MagickRealType) QuantumRange+
+ offset.y=(vertical_scale*(GetGreenPixelComponent(p)-(((MagickRealType) QuantumRange+
1.0)/2.0)))/(((MagickRealType) QuantumRange+1.0)/2.0)+
center.y+((compose == DisplaceCompositeOp) ? y : 0);
(void) InterpolateMagickPixelPacket(image,image_view,
diff --git a/magick/deprecate.c b/magick/deprecate.c
index 9f9db93..4d14233 100644
--- a/magick/deprecate.c
+++ b/magick/deprecate.c
@@ -1833,15 +1833,15 @@
MagickRealType
pixel;
- pixel=QuantumScale*(p->red-(double) q->red);
+ pixel=QuantumScale*(GetRedPixelComponent(p)-(double) q->red);
similarity+=pixel*pixel;
- pixel=QuantumScale*(p->green-(double) q->green);
+ pixel=QuantumScale*(GetGreenPixelComponent(p)-(double) q->green);
similarity+=pixel*pixel;
- pixel=QuantumScale*(p->blue-(double) q->blue);
+ pixel=QuantumScale*(GetBluePixelComponent(p)-(double) q->blue);
similarity+=pixel*pixel;
if ((image->matte != MagickFalse) && (reference->matte != MagickFalse))
{
- pixel=QuantumScale*(p->opacity-(double) q->opacity);
+ pixel=QuantumScale*(GetOpacityPixelComponent(p)-(double) q->opacity);
similarity+=pixel*pixel;
}
if ((image->colorspace == CMYKColorspace) &&
@@ -2101,18 +2101,18 @@
register MagickRealType
distance;
- if ((fuzz == 0.0) && (p->red == q->red) && (p->green == q->green) &&
- (p->blue == q->blue))
+ if ((fuzz == 0.0) && (GetRedPixelComponent(p) == q->red) && (GetGreenPixelComponent(p) == q->green) &&
+ (GetBluePixelComponent(p) == q->blue))
return(MagickTrue);
- pixel.red=p->red-(MagickRealType) q->red;
+ pixel.red=GetRedPixelComponent(p)-(MagickRealType) q->red;
distance=pixel.red*pixel.red;
if (distance > (fuzz*fuzz))
return(MagickFalse);
- pixel.green=p->green-(MagickRealType) q->green;
+ pixel.green=GetGreenPixelComponent(p)-(MagickRealType) q->green;
distance+=pixel.green*pixel.green;
if (distance > (fuzz*fuzz))
return(MagickFalse);
- pixel.blue=p->blue-(MagickRealType) q->blue;
+ pixel.blue=GetBluePixelComponent(p)-(MagickRealType) q->blue;
distance+=pixel.blue*pixel.blue;
if (distance > (fuzz*fuzz))
return(MagickFalse);
diff --git a/magick/effect.c b/magick/effect.c
index 2ceff0e..2fc0f5f 100644
--- a/magick/effect.c
+++ b/magick/effect.c
@@ -5348,14 +5348,14 @@
}
}
if ((channel & RedChannel) != 0)
- q->red=ClampToQuantum(pixel.red);
+ SetRedPixelComponent(q,ClampToQuantum(pixel.red));
if ((channel & GreenChannel) != 0)
- q->green=ClampToQuantum(pixel.green);
+ SetGreenPixelComponent(q,ClampToQuantum(pixel.green));
if ((channel & BlueChannel) != 0)
- q->blue=ClampToQuantum(pixel.blue);
+ SetBluePixelComponent(q,ClampToQuantum(pixel.blue));
if (((channel & OpacityChannel) != 0) &&
(image->matte != MagickFalse))
- q->opacity=ClampToQuantum(pixel.opacity);
+ SetOpacityPixelComponent(q,ClampToQuantum(pixel.opacity));
if (((channel & IndexChannel) != 0) &&
(image->colorspace == CMYKColorspace))
statistic_indexes[x]=(IndexPacket) ClampToQuantum(pixel.index);
@@ -5526,38 +5526,38 @@
{
if ((channel & RedChannel) != 0)
{
- pixel.red=p->red-(MagickRealType) q->red;
+ pixel.red=GetRedPixelComponent(p)-(MagickRealType) q->red;
if (fabs(2.0*pixel.red) < quantum_threshold)
pixel.red=(MagickRealType) GetRedPixelComponent(p);
else
- pixel.red=(MagickRealType) p->red+(pixel.red*amount);
+ pixel.red=(MagickRealType) GetRedPixelComponent(p)+(pixel.red*amount);
SetRedPixelComponent(q,ClampToQuantum(pixel.red));
}
if ((channel & GreenChannel) != 0)
{
- pixel.green=p->green-(MagickRealType) q->green;
+ pixel.green=GetGreenPixelComponent(p)-(MagickRealType) q->green;
if (fabs(2.0*pixel.green) < quantum_threshold)
pixel.green=(MagickRealType) GetGreenPixelComponent(p);
else
- pixel.green=(MagickRealType) p->green+(pixel.green*amount);
+ pixel.green=(MagickRealType) GetGreenPixelComponent(p)+(pixel.green*amount);
SetGreenPixelComponent(q,ClampToQuantum(pixel.green));
}
if ((channel & BlueChannel) != 0)
{
- pixel.blue=p->blue-(MagickRealType) q->blue;
+ pixel.blue=GetBluePixelComponent(p)-(MagickRealType) q->blue;
if (fabs(2.0*pixel.blue) < quantum_threshold)
pixel.blue=(MagickRealType) GetBluePixelComponent(p);
else
- pixel.blue=(MagickRealType) p->blue+(pixel.blue*amount);
+ pixel.blue=(MagickRealType) GetBluePixelComponent(p)+(pixel.blue*amount);
SetBluePixelComponent(q,ClampToQuantum(pixel.blue));
}
if ((channel & OpacityChannel) != 0)
{
- pixel.opacity=p->opacity-(MagickRealType) q->opacity;
+ pixel.opacity=GetOpacityPixelComponent(p)-(MagickRealType) q->opacity;
if (fabs(2.0*pixel.opacity) < quantum_threshold)
pixel.opacity=(MagickRealType) GetOpacityPixelComponent(p);
else
- pixel.opacity=p->opacity+(pixel.opacity*amount);
+ pixel.opacity=GetOpacityPixelComponent(p)+(pixel.opacity*amount);
SetOpacityPixelComponent(q,ClampToQuantum(pixel.opacity));
}
if (((channel & IndexChannel) != 0) &&
diff --git a/magick/feature.c b/magick/feature.c
index 9667d0b..6b4a2aa 100644
--- a/magick/feature.c
+++ b/magick/feature.c
@@ -247,15 +247,15 @@
indexes=GetCacheViewVirtualIndexQueue(image_view);
for (x=0; x < (ssize_t) image->columns; x++)
{
- grays[ScaleQuantumToMap(p->red)].red=
- ScaleQuantumToMap(p->red);
- grays[ScaleQuantumToMap(p->green)].green=
- ScaleQuantumToMap(p->green);
- grays[ScaleQuantumToMap(p->blue)].blue=
- ScaleQuantumToMap(p->blue);
+ grays[ScaleQuantumToMap(GetRedPixelComponent(p))].red=
+ ScaleQuantumToMap(GetRedPixelComponent(p));
+ grays[ScaleQuantumToMap(GetGreenPixelComponent(p))].green=
+ ScaleQuantumToMap(GetGreenPixelComponent(p));
+ grays[ScaleQuantumToMap(GetBluePixelComponent(p))].blue=
+ ScaleQuantumToMap(GetBluePixelComponent(p));
if (image->matte != MagickFalse)
- grays[ScaleQuantumToMap(p->opacity)].opacity=
- ScaleQuantumToMap(p->opacity);
+ grays[ScaleQuantumToMap(GetOpacityPixelComponent(p))].opacity=
+ ScaleQuantumToMap(GetOpacityPixelComponent(p));
if (image->colorspace == CMYKColorspace)
grays[ScaleQuantumToMap(indexes[x])].index=
ScaleQuantumToMap(indexes[x]);
@@ -473,7 +473,7 @@
}
u=0;
v=0;
- while (grays[u].red != ScaleQuantumToMap(p->red))
+ while (grays[u].red != ScaleQuantumToMap(GetRedPixelComponent(p)))
u++;
while (grays[v].red != ScaleQuantumToMap((p+offset)->red))
v++;
@@ -481,7 +481,7 @@
cooccurrence[v][u].direction[i].red++;
u=0;
v=0;
- while (grays[u].green != ScaleQuantumToMap(p->green))
+ while (grays[u].green != ScaleQuantumToMap(GetGreenPixelComponent(p)))
u++;
while (grays[v].green != ScaleQuantumToMap((p+offset)->green))
v++;
@@ -489,7 +489,7 @@
cooccurrence[v][u].direction[i].green++;
u=0;
v=0;
- while (grays[u].blue != ScaleQuantumToMap(p->blue))
+ while (grays[u].blue != ScaleQuantumToMap(GetBluePixelComponent(p)))
u++;
while (grays[v].blue != ScaleQuantumToMap((p+offset)->blue))
v++;
@@ -499,7 +499,7 @@
{
u=0;
v=0;
- while (grays[u].opacity != ScaleQuantumToMap(p->opacity))
+ while (grays[u].opacity != ScaleQuantumToMap(GetOpacityPixelComponent(p)))
u++;
while (grays[v].opacity != ScaleQuantumToMap((p+offset)->opacity))
v++;
diff --git a/magick/fx.c b/magick/fx.c
index 53d031f..6ab7674 100644
--- a/magick/fx.c
+++ b/magick/fx.c
@@ -388,16 +388,16 @@
{
if ((channel & RedChannel) != 0)
q->red=ClampToQuantum(GenerateDifferentialNoise(random_info[id],
- p->red,noise_type,attenuate));
+ GetRedPixelComponent(p),noise_type,attenuate));
if ((channel & GreenChannel) != 0)
q->green=ClampToQuantum(GenerateDifferentialNoise(random_info[id],
- p->green,noise_type,attenuate));
+ GetGreenPixelComponent(p),noise_type,attenuate));
if ((channel & BlueChannel) != 0)
q->blue=ClampToQuantum(GenerateDifferentialNoise(random_info[id],
- p->blue,noise_type,attenuate));
+ GetBluePixelComponent(p),noise_type,attenuate));
if ((channel & OpacityChannel) != 0)
q->opacity=ClampToQuantum(GenerateDifferentialNoise(random_info[id],
- p->opacity,noise_type,attenuate));
+ GetOpacityPixelComponent(p),noise_type,attenuate));
if (((channel & IndexChannel) != 0) &&
(image->colorspace == CMYKColorspace))
noise_indexes[x]=(IndexPacket) ClampToQuantum(GenerateDifferentialNoise(
@@ -541,17 +541,17 @@
for (x=0; x < (ssize_t) image->columns; x++)
{
quantum=GetRedPixelComponent(p);
- if (p->green < quantum)
+ if (GetGreenPixelComponent(p) < quantum)
quantum=GetGreenPixelComponent(p);
- if (p->blue < quantum)
+ if (GetBluePixelComponent(p) < quantum)
quantum=GetBluePixelComponent(p);
- pixel.red=0.5*(p->red+factor*quantum);
- pixel.green=0.5*(p->green+factor*quantum);
- pixel.blue=0.5*(p->blue+factor*quantum);
+ pixel.red=0.5*(GetRedPixelComponent(p)+factor*quantum);
+ pixel.green=0.5*(GetGreenPixelComponent(p)+factor*quantum);
+ pixel.blue=0.5*(GetBluePixelComponent(p)+factor*quantum);
quantum=GetRedPixelComponent(p);
- if (p->green > quantum)
+ if (GetGreenPixelComponent(p) > quantum)
quantum=GetGreenPixelComponent(p);
- if (p->blue > quantum)
+ if (GetBluePixelComponent(p) > quantum)
quantum=GetBluePixelComponent(p);
pixel.red=0.5*(pixel.red+factor*quantum);
pixel.green=0.5*(pixel.green+factor*quantum);
@@ -783,13 +783,13 @@
}
for (x=0; x < (ssize_t) image->columns; x++)
{
- q->red=(Quantum) ((p->red*(100.0-pixel.red)+
+ q->red=(Quantum) ((GetRedPixelComponent(p)*(100.0-pixel.red)+
colorize.red*pixel.red)/100.0);
- q->green=(Quantum) ((p->green*(100.0-pixel.green)+
+ q->green=(Quantum) ((GetGreenPixelComponent(p)*(100.0-pixel.green)+
colorize.green*pixel.green)/100.0);
- q->blue=(Quantum) ((p->blue*(100.0-pixel.blue)+
+ q->blue=(Quantum) ((GetBluePixelComponent(p)*(100.0-pixel.blue)+
colorize.blue*pixel.blue)/100.0);
- q->opacity=(Quantum) ((p->opacity*(100.0-pixel.opacity)+
+ q->opacity=(Quantum) ((GetOpacityPixelComponent(p)*(100.0-pixel.opacity)+
colorize.opacity*pixel.opacity)/100.0);
p++;
q++;
@@ -993,10 +993,10 @@
height=color_matrix->height > 6 ? 6UL : color_matrix->height;
for (v=0; v < (ssize_t) height; v++)
{
- pixel=ColorMatrix[v][0]*p->red+ColorMatrix[v][1]*p->green+
- ColorMatrix[v][2]*p->blue;
+ pixel=ColorMatrix[v][0]*GetRedPixelComponent(p)+ColorMatrix[v][1]*GetGreenPixelComponent(p)+
+ ColorMatrix[v][2]*GetBluePixelComponent(p);
if (image->matte != MagickFalse)
- pixel+=ColorMatrix[v][3]*(QuantumRange-p->opacity);
+ pixel+=ColorMatrix[v][3]*(QuantumRange-GetOpacityPixelComponent(p));
if (image->colorspace == CMYKColorspace)
pixel+=ColorMatrix[v][4]*indexes[x];
pixel+=QuantumRange*ColorMatrix[v][5];
@@ -4798,7 +4798,7 @@
r->red=GetRedPixelComponent(p);
r->green=q->green;
r->blue=q->blue;
- r->opacity=(Quantum) ((p->opacity+q->opacity)/2);
+ r->opacity=(Quantum) ((GetOpacityPixelComponent(p)+q->opacity)/2);
p++;
q++;
r++;
@@ -5155,16 +5155,16 @@
MagickRealType
weight;
- weight=QuantumScale*p->red-0.5;
- pixel.red=(MagickRealType) p->red+color_vector.red*(1.0-(4.0*
+ weight=QuantumScale*GetRedPixelComponent(p)-0.5;
+ pixel.red=(MagickRealType) GetRedPixelComponent(p)+color_vector.red*(1.0-(4.0*
(weight*weight)));
SetRedPixelComponent(q,ClampToQuantum(pixel.red));
- weight=QuantumScale*p->green-0.5;
- pixel.green=(MagickRealType) p->green+color_vector.green*(1.0-(4.0*
+ weight=QuantumScale*GetGreenPixelComponent(p)-0.5;
+ pixel.green=(MagickRealType) GetGreenPixelComponent(p)+color_vector.green*(1.0-(4.0*
(weight*weight)));
SetGreenPixelComponent(q,ClampToQuantum(pixel.green));
- weight=QuantumScale*p->blue-0.5;
- pixel.blue=(MagickRealType) p->blue+color_vector.blue*(1.0-(4.0*
+ weight=QuantumScale*GetBluePixelComponent(p)-0.5;
+ pixel.blue=(MagickRealType) GetBluePixelComponent(p)+color_vector.blue*(1.0-(4.0*
(weight*weight)));
SetBluePixelComponent(q,ClampToQuantum(pixel.blue));
SetOpacityPixelComponent(q,GetOpacityPixelComponent(p));
diff --git a/magick/identify.c b/magick/identify.c
index ecd4943..02de8e8 100644
--- a/magick/identify.c
+++ b/magick/identify.c
@@ -600,7 +600,7 @@
indexes=GetVirtualIndexQueue(image);
for (x=0; x < (ssize_t) image->columns; x++)
{
- if (p->opacity == (Quantum) TransparentOpacity)
+ if (GetOpacityPixelComponent(p) == (Quantum) TransparentOpacity)
break;
p++;
}
diff --git a/magick/layer.c b/magick/layer.c
index 10b8e11..a7f3d08 100644
--- a/magick/layer.c
+++ b/magick/layer.c
@@ -191,7 +191,7 @@
break;
for (x=0; x < (ssize_t) bounds->width; x++)
{
- if ((p->opacity <= (Quantum) (QuantumRange/2)) &&
+ if ((GetOpacityPixelComponent(p) <= (Quantum) (QuantumRange/2)) &&
(q->opacity > (Quantum) (QuantumRange/2)))
break;
p++;
@@ -538,7 +538,7 @@
if (method == CompareAnyLayer)
return((MagickBooleanType)(IsMagickColorSimilar(p,q) == MagickFalse));
- o1 = (p->matte != MagickFalse) ? p->opacity : OpaqueOpacity;
+ o1 = (p->matte != MagickFalse) ? GetOpacityPixelComponent(p) : OpaqueOpacity;
o2 = (q->matte != MagickFalse) ? q->opacity : OpaqueOpacity;
/*
diff --git a/magick/prepress.c b/magick/prepress.c
index 64c39cf..8a593f6 100644
--- a/magick/prepress.c
+++ b/magick/prepress.c
@@ -134,7 +134,7 @@
indexes=GetCacheViewVirtualIndexQueue(image_view);
for (x=0; x < (ssize_t) image->columns; x++)
{
- density=(double) p->red+p->green+p->blue+indexes[x];
+ density=(double) GetRedPixelComponent(p)+GetGreenPixelComponent(p)+GetBluePixelComponent(p)+indexes[x];
if (density > total_ink_density)
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp critical (MagickCore_GetImageTotalInkDensity)
diff --git a/magick/quantize.c b/magick/quantize.c
index c4c817c..5138135 100644
--- a/magick/quantize.c
+++ b/magick/quantize.c
@@ -1091,15 +1091,15 @@
alpha=(MagickRealType) (QuantumScale*GetAlphaPixelComponent(p));
beta=(MagickRealType) (QuantumScale*GetAlphaPixelComponent(q));
}
- pixel=alpha*p->red-beta*q->red;
+ pixel=alpha*GetRedPixelComponent(p)-beta*q->red;
distance=pixel*pixel;
if (distance <= cube_info->distance)
{
- pixel=alpha*p->green-beta*q->green;
+ pixel=alpha*GetGreenPixelComponent(p)-beta*q->green;
distance+=pixel*pixel;
if (distance <= cube_info->distance)
{
- pixel=alpha*p->blue-beta*q->blue;
+ pixel=alpha*GetBluePixelComponent(p)-beta*q->blue;
distance+=pixel*pixel;
if (distance <= cube_info->distance)
{
@@ -2182,17 +2182,17 @@
beta=(MagickRealType) (QuantumScale*(QuantumRange-
image->colormap[index].opacity));
}
- distance=fabs(alpha*p->red-beta*image->colormap[index].red);
+ distance=fabs(alpha*GetRedPixelComponent(p)-beta*image->colormap[index].red);
mean_error_per_pixel+=distance;
mean_error+=distance*distance;
if (distance > maximum_error)
maximum_error=distance;
- distance=fabs(alpha*p->green-beta*image->colormap[index].green);
+ distance=fabs(alpha*GetGreenPixelComponent(p)-beta*image->colormap[index].green);
mean_error_per_pixel+=distance;
mean_error+=distance*distance;
if (distance > maximum_error)
maximum_error=distance;
- distance=fabs(alpha*p->blue-beta*image->colormap[index].blue);
+ distance=fabs(alpha*GetBluePixelComponent(p)-beta*image->colormap[index].blue);
mean_error_per_pixel+=distance;
mean_error+=distance*distance;
if (distance > maximum_error)
diff --git a/magick/quantum-export.c b/magick/quantum-export.c
index 82593be..a378559 100644
--- a/magick/quantum-export.c
+++ b/magick/quantum-export.c
@@ -511,25 +511,25 @@
{
pixel=(unsigned char) *indexes++;
*q=((pixel & 0x01) << 7);
- pixel=(unsigned char) (p->opacity == (Quantum) TransparentOpacity ?
+ pixel=(unsigned char) (GetOpacityPixelComponent(p) == (Quantum) TransparentOpacity ?
1 : 0);
*q|=((pixel & 0x01) << 6);
p++;
pixel=(unsigned char) *indexes++;
*q|=((pixel & 0x01) << 5);
- pixel=(unsigned char) (p->opacity == (Quantum) TransparentOpacity ?
+ pixel=(unsigned char) (GetOpacityPixelComponent(p) == (Quantum) TransparentOpacity ?
1 : 0);
*q|=((pixel & 0x01) << 4);
p++;
pixel=(unsigned char) *indexes++;
*q|=((pixel & 0x01) << 3);
- pixel=(unsigned char) (p->opacity == (Quantum) TransparentOpacity ?
+ pixel=(unsigned char) (GetOpacityPixelComponent(p) == (Quantum) TransparentOpacity ?
1 : 0);
*q|=((pixel & 0x01) << 2);
p++;
pixel=(unsigned char) *indexes++;
*q|=((pixel & 0x01) << 1);
- pixel=(unsigned char) (p->opacity == (Quantum) TransparentOpacity ?
+ pixel=(unsigned char) (GetOpacityPixelComponent(p) == (Quantum) TransparentOpacity ?
1 : 0);
*q|=((pixel & 0x01) << 0);
p++;
@@ -542,7 +542,7 @@
{
pixel=(unsigned char) *indexes++;
*q|=((pixel & 0x01) << (unsigned char) (bit+4));
- pixel=(unsigned char) (p->opacity == (Quantum)
+ pixel=(unsigned char) (GetOpacityPixelComponent(p) == (Quantum)
TransparentOpacity ? 1 : 0);
*q|=((pixel & 0x01) << (unsigned char) (bit+4-1));
p++;
@@ -903,9 +903,9 @@
{
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopFloatPixel(&quantum_state,(float) p->red,q);
- q=PopFloatPixel(&quantum_state,(float) p->green,q);
- q=PopFloatPixel(&quantum_state,(float) p->blue,q);
+ q=PopFloatPixel(&quantum_state,(float) GetRedPixelComponent(p),q);
+ q=PopFloatPixel(&quantum_state,(float) GetGreenPixelComponent(p),q);
+ q=PopFloatPixel(&quantum_state,(float) GetBluePixelComponent(p),q);
p++;
q+=quantum_info->pad;
}
@@ -930,9 +930,9 @@
{
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopDoublePixel(&quantum_state,(double) p->red,q);
- q=PopDoublePixel(&quantum_state,(double) p->green,q);
- q=PopDoublePixel(&quantum_state,(double) p->blue,q);
+ q=PopDoublePixel(&quantum_state,(double) GetRedPixelComponent(p),q);
+ q=PopDoublePixel(&quantum_state,(double) GetGreenPixelComponent(p),q);
+ q=PopDoublePixel(&quantum_state,(double) GetBluePixelComponent(p),q);
p++;
q+=quantum_info->pad;
}
@@ -1009,10 +1009,10 @@
{
switch (i)
{
- case 0: quantum=p->red; break;
- case 1: quantum=p->green; break;
- case 2: quantum=p->blue; break;
- case 3: quantum=(Quantum) (QuantumRange-p->opacity); break;
+ case 0: quantum=GetRedPixelComponent(p); break;
+ case 1: quantum=GetGreenPixelComponent(p); break;
+ case 2: quantum=GetBluePixelComponent(p); break;
+ case 3: quantum=(Quantum) (QuantumRange-GetOpacityPixelComponent(p)); break;
}
switch (n % 3)
{
@@ -1058,7 +1058,7 @@
q=PopQuantumLongPixel(&quantum_state,quantum_info->depth,pixel,
q);
pixel=(unsigned int) ScaleQuantumToAny((Quantum) (QuantumRange-
- p->opacity),range);
+ GetOpacityPixelComponent(p)),range);
q=PopQuantumLongPixel(&quantum_state,quantum_info->depth,pixel,
q);
p++;
@@ -1075,7 +1075,7 @@
pixel=(unsigned int) ScaleQuantumToAny(GetBluePixelComponent(p),range);
q=PopQuantumPixel(&quantum_state,quantum_info->depth,pixel,q);
pixel=(unsigned int) ScaleQuantumToAny((Quantum) (QuantumRange-
- p->opacity),range);
+ GetOpacityPixelComponent(p)),range);
q=PopQuantumPixel(&quantum_state,quantum_info->depth,pixel,q);
p++;
q+=quantum_info->pad;
@@ -1135,9 +1135,9 @@
float
pixel;
- q=PopFloatPixel(&quantum_state,(float) p->red,q);
- q=PopFloatPixel(&quantum_state,(float) p->green,q);
- q=PopFloatPixel(&quantum_state,(float) p->blue,q);
+ q=PopFloatPixel(&quantum_state,(float) GetRedPixelComponent(p),q);
+ q=PopFloatPixel(&quantum_state,(float) GetGreenPixelComponent(p),q);
+ q=PopFloatPixel(&quantum_state,(float) GetBluePixelComponent(p),q);
pixel=(float) GetAlphaPixelComponent(p);
q=PopFloatPixel(&quantum_state,pixel,q);
p++;
@@ -1169,9 +1169,9 @@
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopDoublePixel(&quantum_state,(double) p->red,q);
- q=PopDoublePixel(&quantum_state,(double) p->green,q);
- q=PopDoublePixel(&quantum_state,(double) p->blue,q);
+ q=PopDoublePixel(&quantum_state,(double) GetRedPixelComponent(p),q);
+ q=PopDoublePixel(&quantum_state,(double) GetGreenPixelComponent(p),q);
+ q=PopDoublePixel(&quantum_state,(double) GetBluePixelComponent(p),q);
pixel=(double) GetAlphaPixelComponent(p);
q=PopDoublePixel(&quantum_state,pixel,q);
p++;
@@ -1469,19 +1469,19 @@
{
*q='\0';
*q|=(PixelIntensityToQuantum(p) > threshold ? black : white) << 7;
- pixel=(unsigned char) (p->opacity == OpaqueOpacity ? 0x00 : 0x01);
+ pixel=(unsigned char) (GetOpacityPixelComponent(p) == OpaqueOpacity ? 0x00 : 0x01);
*q|=(((int) pixel != 0 ? 0x00 : 0x01) << 6);
p++;
*q|=(PixelIntensityToQuantum(p) > threshold ? black : white) << 5;
- pixel=(unsigned char) (p->opacity == OpaqueOpacity ? 0x00 : 0x01);
+ pixel=(unsigned char) (GetOpacityPixelComponent(p) == OpaqueOpacity ? 0x00 : 0x01);
*q|=(((int) pixel != 0 ? 0x00 : 0x01) << 4);
p++;
*q|=(PixelIntensityToQuantum(p) > threshold ? black : white) << 3;
- pixel=(unsigned char) (p->opacity == OpaqueOpacity ? 0x00 : 0x01);
+ pixel=(unsigned char) (GetOpacityPixelComponent(p) == OpaqueOpacity ? 0x00 : 0x01);
*q|=(((int) pixel != 0 ? 0x00 : 0x01) << 2);
p++;
*q|=(PixelIntensityToQuantum(p) > threshold ? black : white) << 1;
- pixel=(unsigned char) (p->opacity == OpaqueOpacity ? 0x00 : 0x01);
+ pixel=(unsigned char) (GetOpacityPixelComponent(p) == OpaqueOpacity ? 0x00 : 0x01);
*q|=(((int) pixel != 0 ? 0x00 : 0x01) << 0);
p++;
q++;
@@ -1493,7 +1493,7 @@
{
*q|=(PixelIntensityToQuantum(p) > threshold ? black : white) <<
(7-bit);
- pixel=(unsigned char) (p->opacity == OpaqueOpacity ? 0x00 :
+ pixel=(unsigned char) (GetOpacityPixelComponent(p) == OpaqueOpacity ? 0x00 :
0x01);
*q|=(((int) pixel != 0 ? 0x00 : 0x01) << (unsigned char)
(7-bit-1));
@@ -1692,7 +1692,7 @@
{
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopFloatPixel(&quantum_state,(float) p->red,q);
+ q=PopFloatPixel(&quantum_state,(float) GetRedPixelComponent(p),q);
p++;
q+=quantum_info->pad;
}
@@ -1713,7 +1713,7 @@
{
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopDoublePixel(&quantum_state,(double) p->red,q);
+ q=PopDoublePixel(&quantum_state,(double) GetRedPixelComponent(p),q);
p++;
q+=quantum_info->pad;
}
@@ -1789,7 +1789,7 @@
{
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopFloatPixel(&quantum_state,(float) p->green,q);
+ q=PopFloatPixel(&quantum_state,(float) GetGreenPixelComponent(p),q);
p++;
q+=quantum_info->pad;
}
@@ -1810,7 +1810,7 @@
{
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopDoublePixel(&quantum_state,(double) p->green,q);
+ q=PopDoublePixel(&quantum_state,(double) GetGreenPixelComponent(p),q);
p++;
q+=quantum_info->pad;
}
@@ -1886,7 +1886,7 @@
{
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopFloatPixel(&quantum_state,(float) p->blue,q);
+ q=PopFloatPixel(&quantum_state,(float) GetBluePixelComponent(p),q);
p++;
q+=quantum_info->pad;
}
@@ -1907,7 +1907,7 @@
{
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopDoublePixel(&quantum_state,(double) p->blue,q);
+ q=PopDoublePixel(&quantum_state,(double) GetBluePixelComponent(p),q);
p++;
q+=quantum_info->pad;
}
@@ -2089,7 +2089,7 @@
{
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopFloatPixel(&quantum_state,(float) p->opacity,q);
+ q=PopFloatPixel(&quantum_state,(float) GetOpacityPixelComponent(p),q);
p++;
q+=quantum_info->pad;
}
@@ -2110,7 +2110,7 @@
{
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopDoublePixel(&quantum_state,(double) p->opacity,q);
+ q=PopDoublePixel(&quantum_state,(double) GetOpacityPixelComponent(p),q);
p++;
q+=quantum_info->pad;
}
@@ -2459,9 +2459,9 @@
{
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopFloatPixel(&quantum_state,(float) p->red,q);
- q=PopFloatPixel(&quantum_state,(float) p->green,q);
- q=PopFloatPixel(&quantum_state,(float) p->blue,q);
+ q=PopFloatPixel(&quantum_state,(float) GetRedPixelComponent(p),q);
+ q=PopFloatPixel(&quantum_state,(float) GetGreenPixelComponent(p),q);
+ q=PopFloatPixel(&quantum_state,(float) GetBluePixelComponent(p),q);
p++;
q+=quantum_info->pad;
}
@@ -2486,9 +2486,9 @@
{
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopDoublePixel(&quantum_state,(double) p->red,q);
- q=PopDoublePixel(&quantum_state,(double) p->green,q);
- q=PopDoublePixel(&quantum_state,(double) p->blue,q);
+ q=PopDoublePixel(&quantum_state,(double) GetRedPixelComponent(p),q);
+ q=PopDoublePixel(&quantum_state,(double) GetGreenPixelComponent(p),q);
+ q=PopDoublePixel(&quantum_state,(double) GetBluePixelComponent(p),q);
p++;
q+=quantum_info->pad;
}
@@ -2566,10 +2566,10 @@
{
switch (i)
{
- case 0: quantum=p->red; break;
- case 1: quantum=p->green; break;
- case 2: quantum=p->blue; break;
- case 3: quantum=(Quantum) (QuantumRange-p->opacity); break;
+ case 0: quantum=GetRedPixelComponent(p); break;
+ case 1: quantum=GetGreenPixelComponent(p); break;
+ case 2: quantum=GetBluePixelComponent(p); break;
+ case 3: quantum=(Quantum) (QuantumRange-GetOpacityPixelComponent(p)); break;
}
switch (n % 3)
{
@@ -2615,7 +2615,7 @@
q=PopQuantumLongPixel(&quantum_state,quantum_info->depth,pixel,
q);
pixel=(unsigned int) ScaleQuantumToAny((Quantum) (QuantumRange-
- p->opacity),range);
+ GetOpacityPixelComponent(p)),range);
q=PopQuantumLongPixel(&quantum_state,quantum_info->depth,pixel,
q);
p++;
@@ -2632,7 +2632,7 @@
pixel=(unsigned int) ScaleQuantumToAny(GetBluePixelComponent(p),range);
q=PopQuantumPixel(&quantum_state,quantum_info->depth,pixel,q);
pixel=(unsigned int) ScaleQuantumToAny((Quantum) (QuantumRange-
- p->opacity),range);
+ GetOpacityPixelComponent(p)),range);
q=PopQuantumPixel(&quantum_state,quantum_info->depth,pixel,q);
p++;
q+=quantum_info->pad;
@@ -2692,9 +2692,9 @@
float
pixel;
- q=PopFloatPixel(&quantum_state,(float) p->red,q);
- q=PopFloatPixel(&quantum_state,(float) p->green,q);
- q=PopFloatPixel(&quantum_state,(float) p->blue,q);
+ q=PopFloatPixel(&quantum_state,(float) GetRedPixelComponent(p),q);
+ q=PopFloatPixel(&quantum_state,(float) GetGreenPixelComponent(p),q);
+ q=PopFloatPixel(&quantum_state,(float) GetBluePixelComponent(p),q);
pixel=(float) GetAlphaPixelComponent(p);
q=PopFloatPixel(&quantum_state,pixel,q);
p++;
@@ -2726,9 +2726,9 @@
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopDoublePixel(&quantum_state,(double) p->red,q);
- q=PopDoublePixel(&quantum_state,(double) p->green,q);
- q=PopDoublePixel(&quantum_state,(double) p->blue,q);
+ q=PopDoublePixel(&quantum_state,(double) GetRedPixelComponent(p),q);
+ q=PopDoublePixel(&quantum_state,(double) GetGreenPixelComponent(p),q);
+ q=PopDoublePixel(&quantum_state,(double) GetBluePixelComponent(p),q);
pixel=(double) GetAlphaPixelComponent(p);
q=PopDoublePixel(&quantum_state,pixel,q);
p++;
@@ -2837,9 +2837,9 @@
{
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopFloatPixel(&quantum_state,(float) p->red,q);
- q=PopFloatPixel(&quantum_state,(float) p->green,q);
- q=PopFloatPixel(&quantum_state,(float) p->blue,q);
+ q=PopFloatPixel(&quantum_state,(float) GetRedPixelComponent(p),q);
+ q=PopFloatPixel(&quantum_state,(float) GetGreenPixelComponent(p),q);
+ q=PopFloatPixel(&quantum_state,(float) GetBluePixelComponent(p),q);
q=PopFloatPixel(&quantum_state,(float) indexes[x],q);
p++;
q+=quantum_info->pad;
@@ -2867,9 +2867,9 @@
{
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopDoublePixel(&quantum_state,(double) p->red,q);
- q=PopDoublePixel(&quantum_state,(double) p->green,q);
- q=PopDoublePixel(&quantum_state,(double) p->blue,q);
+ q=PopDoublePixel(&quantum_state,(double) GetRedPixelComponent(p),q);
+ q=PopDoublePixel(&quantum_state,(double) GetGreenPixelComponent(p),q);
+ q=PopDoublePixel(&quantum_state,(double) GetBluePixelComponent(p),q);
q=PopDoublePixel(&quantum_state,(double) indexes[x],q);
p++;
q+=quantum_info->pad;
@@ -2990,9 +2990,9 @@
float
pixel;
- q=PopFloatPixel(&quantum_state,(float) p->red,q);
- q=PopFloatPixel(&quantum_state,(float) p->green,q);
- q=PopFloatPixel(&quantum_state,(float) p->blue,q);
+ q=PopFloatPixel(&quantum_state,(float) GetRedPixelComponent(p),q);
+ q=PopFloatPixel(&quantum_state,(float) GetGreenPixelComponent(p),q);
+ q=PopFloatPixel(&quantum_state,(float) GetBluePixelComponent(p),q);
q=PopFloatPixel(&quantum_state,(float) indexes[x],q);
pixel=(float) (GetAlphaPixelComponent(p));
q=PopFloatPixel(&quantum_state,pixel,q);
@@ -3028,9 +3028,9 @@
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopDoublePixel(&quantum_state,(double) p->red,q);
- q=PopDoublePixel(&quantum_state,(double) p->green,q);
- q=PopDoublePixel(&quantum_state,(double) p->blue,q);
+ q=PopDoublePixel(&quantum_state,(double) GetRedPixelComponent(p),q);
+ q=PopDoublePixel(&quantum_state,(double) GetGreenPixelComponent(p),q);
+ q=PopDoublePixel(&quantum_state,(double) GetBluePixelComponent(p),q);
q=PopDoublePixel(&quantum_state,(double) indexes[x],q);
pixel=(double) (GetAlphaPixelComponent(p));
q=PopDoublePixel(&quantum_state,pixel,q);
diff --git a/magick/shear.c b/magick/shear.c
index d5d96a1..32fb63d 100644
--- a/magick/shear.c
+++ b/magick/shear.c
@@ -739,9 +739,9 @@
for (x=0; x < (ssize_t) image->columns; x++)
{
byte<<=1;
- if (((MagickRealType) p->red < threshold) ||
- ((MagickRealType) p->green < threshold) ||
- ((MagickRealType) p->blue < threshold))
+ if (((MagickRealType) GetRedPixelComponent(p) < threshold) ||
+ ((MagickRealType) GetGreenPixelComponent(p) < threshold) ||
+ ((MagickRealType) GetBluePixelComponent(p) < threshold))
byte|=0x01;
bit++;
if (bit == 8)
@@ -790,9 +790,9 @@
for (x=0; x < (ssize_t) image->columns; x++)
{
byte<<=1;
- if (((MagickRealType) p->red < threshold) ||
- ((MagickRealType) p->green < threshold) ||
- ((MagickRealType) p->blue < threshold))
+ if (((MagickRealType) GetRedPixelComponent(p) < threshold) ||
+ ((MagickRealType) GetGreenPixelComponent(p) < threshold) ||
+ ((MagickRealType) GetBluePixelComponent(p) < threshold))
byte|=0x01;
bit++;
if (bit == 8)
@@ -1550,7 +1550,7 @@
}
SetMagickPixelPacket(image,p,indexes,&source);
MagickPixelCompositeAreaBlend(&pixel,(MagickRealType) pixel.opacity,
- &source,(MagickRealType) p->opacity,area,&destination);
+ &source,(MagickRealType) GetOpacityPixelComponent(p),area,&destination);
SetPixelPacket(image,&destination,q++,shear_indexes++);
SetMagickPixelPacket(image,p++,indexes++,&pixel);
}
@@ -1580,7 +1580,7 @@
continue;
SetMagickPixelPacket(image,p,indexes,&source);
MagickPixelCompositeAreaBlend(&pixel,(MagickRealType) pixel.opacity,
- &source,(MagickRealType) p->opacity,area,&destination);
+ &source,(MagickRealType) GetOpacityPixelComponent(p),area,&destination);
SetPixelPacket(image,&destination,q,shear_indexes);
SetMagickPixelPacket(image,p,indexes,&pixel);
}
@@ -1770,7 +1770,7 @@
}
SetMagickPixelPacket(image,p,indexes,&source);
MagickPixelCompositeAreaBlend(&pixel,(MagickRealType) pixel.opacity,
- &source,(MagickRealType) p->opacity,area,&destination);
+ &source,(MagickRealType) GetOpacityPixelComponent(p),area,&destination);
SetPixelPacket(image,&destination,q++,shear_indexes++);
SetMagickPixelPacket(image,p++,indexes++,&pixel);
}
@@ -1800,7 +1800,7 @@
continue;
SetMagickPixelPacket(image,p,indexes,&source);
MagickPixelCompositeAreaBlend(&pixel,(MagickRealType) pixel.opacity,
- &source,(MagickRealType) p->opacity,area,&destination);
+ &source,(MagickRealType) GetOpacityPixelComponent(p),area,&destination);
SetPixelPacket(image,&destination,q,shear_indexes);
SetMagickPixelPacket(image,p,indexes,&pixel);
}
diff --git a/magick/statistic.c b/magick/statistic.c
index c0967b5..1f6ca54 100644
--- a/magick/statistic.c
+++ b/magick/statistic.c
@@ -555,13 +555,13 @@
}
indexes=GetCacheViewVirtualIndexQueue(image_view);
evaluate_pixel[i].red=ApplyEvaluateOperator(random_info[id],
- p->red,op,evaluate_pixel[i].red);
+ GetRedPixelComponent(p),op,evaluate_pixel[i].red);
evaluate_pixel[i].green=ApplyEvaluateOperator(random_info[id],
- p->green,op,evaluate_pixel[i].green);
+ GetGreenPixelComponent(p),op,evaluate_pixel[i].green);
evaluate_pixel[i].blue=ApplyEvaluateOperator(random_info[id],
- p->blue,op,evaluate_pixel[i].blue);
+ GetBluePixelComponent(p),op,evaluate_pixel[i].blue);
evaluate_pixel[i].opacity=ApplyEvaluateOperator(random_info[id],
- p->opacity,op,evaluate_pixel[i].opacity);
+ GetOpacityPixelComponent(p),op,evaluate_pixel[i].opacity);
if (evaluate_image->colorspace == CMYKColorspace)
evaluate_pixel[i].index=ApplyEvaluateOperator(random_info[id],
*indexes,op,evaluate_pixel[i].index);
@@ -658,13 +658,13 @@
for (x=0; x < (ssize_t) next->columns; x++)
{
evaluate_pixel[x].red=ApplyEvaluateOperator(random_info[id],
- p->red,i == 0 ? AddEvaluateOperator : op,evaluate_pixel[x].red);
+ GetRedPixelComponent(p),i == 0 ? AddEvaluateOperator : op,evaluate_pixel[x].red);
evaluate_pixel[x].green=ApplyEvaluateOperator(random_info[id],
- p->green,i == 0 ? AddEvaluateOperator : op,evaluate_pixel[x].green);
+ GetGreenPixelComponent(p),i == 0 ? AddEvaluateOperator : op,evaluate_pixel[x].green);
evaluate_pixel[x].blue=ApplyEvaluateOperator(random_info[id],
- p->blue,i == 0 ? AddEvaluateOperator : op,evaluate_pixel[x].blue);
+ GetBluePixelComponent(p),i == 0 ? AddEvaluateOperator : op,evaluate_pixel[x].blue);
evaluate_pixel[x].opacity=ApplyEvaluateOperator(random_info[id],
- p->opacity,i == 0 ? AddEvaluateOperator : op,
+ GetOpacityPixelComponent(p),i == 0 ? AddEvaluateOperator : op,
evaluate_pixel[x].opacity);
if (evaluate_image->colorspace == CMYKColorspace)
evaluate_pixel[x].index=ApplyEvaluateOperator(random_info[id],
@@ -1340,36 +1340,36 @@
if ((channel & RedChannel) != 0)
{
mean+=GetRedPixelComponent(p);
- sum_squares+=(double) p->red*GetRedPixelComponent(p);
- sum_cubes+=(double) p->red*p->red*GetRedPixelComponent(p);
- sum_fourth_power+=(double) p->red*p->red*p->red*
+ sum_squares+=(double) GetRedPixelComponent(p)*GetRedPixelComponent(p);
+ sum_cubes+=(double) GetRedPixelComponent(p)*GetRedPixelComponent(p)*GetRedPixelComponent(p);
+ sum_fourth_power+=(double) GetRedPixelComponent(p)*GetRedPixelComponent(p)*GetRedPixelComponent(p)*
GetRedPixelComponent(p);
area++;
}
if ((channel & GreenChannel) != 0)
{
mean+=GetGreenPixelComponent(p);
- sum_squares+=(double) p->green*GetGreenPixelComponent(p);
- sum_cubes+=(double) p->green*p->green*GetGreenPixelComponent(p);
- sum_fourth_power+=(double) p->green*p->green*p->green*
+ sum_squares+=(double) GetGreenPixelComponent(p)*GetGreenPixelComponent(p);
+ sum_cubes+=(double) GetGreenPixelComponent(p)*GetGreenPixelComponent(p)*GetGreenPixelComponent(p);
+ sum_fourth_power+=(double) GetGreenPixelComponent(p)*GetGreenPixelComponent(p)*GetGreenPixelComponent(p)*
GetGreenPixelComponent(p);
area++;
}
if ((channel & BlueChannel) != 0)
{
mean+=GetBluePixelComponent(p);
- sum_squares+=(double) p->blue*GetBluePixelComponent(p);
- sum_cubes+=(double) p->blue*p->blue*GetBluePixelComponent(p);
- sum_fourth_power+=(double) p->blue*p->blue*p->blue*
+ sum_squares+=(double) GetBluePixelComponent(p)*GetBluePixelComponent(p);
+ sum_cubes+=(double) GetBluePixelComponent(p)*GetBluePixelComponent(p)*GetBluePixelComponent(p);
+ sum_fourth_power+=(double) GetBluePixelComponent(p)*GetBluePixelComponent(p)*GetBluePixelComponent(p)*
GetBluePixelComponent(p);
area++;
}
if ((channel & OpacityChannel) != 0)
{
mean+=GetOpacityPixelComponent(p);
- sum_squares+=(double) p->opacity*GetOpacityPixelComponent(p);
- sum_cubes+=(double) p->opacity*p->opacity*GetOpacityPixelComponent(p);
- sum_fourth_power+=(double) p->opacity*p->opacity*p->opacity*
+ sum_squares+=(double) GetOpacityPixelComponent(p)*GetOpacityPixelComponent(p);
+ sum_cubes+=(double) GetOpacityPixelComponent(p)*GetOpacityPixelComponent(p)*GetOpacityPixelComponent(p);
+ sum_fourth_power+=(double) GetOpacityPixelComponent(p)*GetOpacityPixelComponent(p)*GetOpacityPixelComponent(p)*
GetOpacityPixelComponent(p);
area++;
}
@@ -1661,7 +1661,7 @@
depth=channel_statistics[OpacityChannel].depth;
range=GetQuantumRange(depth);
status=GetOpacityPixelComponent(p) != ScaleAnyToQuantum(ScaleQuantumToAny(
- p->opacity,range),range) ? MagickTrue : MagickFalse;
+ GetOpacityPixelComponent(p),range),range) ? MagickTrue : MagickFalse;
if (status != MagickFalse)
{
channel_statistics[OpacityChannel].depth++;
@@ -1684,58 +1684,58 @@
}
}
}
- if ((double) p->red < channel_statistics[RedChannel].minima)
+ if ((double) GetRedPixelComponent(p) < channel_statistics[RedChannel].minima)
channel_statistics[RedChannel].minima=(double) GetRedPixelComponent(p);
- if ((double) p->red > channel_statistics[RedChannel].maxima)
+ if ((double) GetRedPixelComponent(p) > channel_statistics[RedChannel].maxima)
channel_statistics[RedChannel].maxima=(double) GetRedPixelComponent(p);
channel_statistics[RedChannel].sum+=GetRedPixelComponent(p);
- channel_statistics[RedChannel].sum_squared+=(double) p->red*
+ channel_statistics[RedChannel].sum_squared+=(double) GetRedPixelComponent(p)*
GetRedPixelComponent(p);
- channel_statistics[RedChannel].sum_cubed+=(double) p->red*p->red*
+ channel_statistics[RedChannel].sum_cubed+=(double) GetRedPixelComponent(p)*GetRedPixelComponent(p)*
GetRedPixelComponent(p);
- channel_statistics[RedChannel].sum_fourth_power+=(double) p->red*p->red*
- p->red*GetRedPixelComponent(p);
- if ((double) p->green < channel_statistics[GreenChannel].minima)
+ channel_statistics[RedChannel].sum_fourth_power+=(double) GetRedPixelComponent(p)*GetRedPixelComponent(p)*
+ GetRedPixelComponent(p)*GetRedPixelComponent(p);
+ if ((double) GetGreenPixelComponent(p) < channel_statistics[GreenChannel].minima)
channel_statistics[GreenChannel].minima=(double)
GetGreenPixelComponent(p);
- if ((double) p->green > channel_statistics[GreenChannel].maxima)
+ if ((double) GetGreenPixelComponent(p) > channel_statistics[GreenChannel].maxima)
channel_statistics[GreenChannel].maxima=(double)
GetGreenPixelComponent(p);
channel_statistics[GreenChannel].sum+=GetGreenPixelComponent(p);
- channel_statistics[GreenChannel].sum_squared+=(double) p->green*
+ channel_statistics[GreenChannel].sum_squared+=(double) GetGreenPixelComponent(p)*
GetGreenPixelComponent(p);
- channel_statistics[GreenChannel].sum_cubed+=(double) p->green*p->green*
+ channel_statistics[GreenChannel].sum_cubed+=(double) GetGreenPixelComponent(p)*GetGreenPixelComponent(p)*
GetGreenPixelComponent(p);
- channel_statistics[GreenChannel].sum_fourth_power+=(double) p->green*
- p->green*p->green*GetGreenPixelComponent(p);
- if ((double) p->blue < channel_statistics[BlueChannel].minima)
+ channel_statistics[GreenChannel].sum_fourth_power+=(double) GetGreenPixelComponent(p)*
+ GetGreenPixelComponent(p)*GetGreenPixelComponent(p)*GetGreenPixelComponent(p);
+ if ((double) GetBluePixelComponent(p) < channel_statistics[BlueChannel].minima)
channel_statistics[BlueChannel].minima=(double)
GetBluePixelComponent(p);
- if ((double) p->blue > channel_statistics[BlueChannel].maxima)
+ if ((double) GetBluePixelComponent(p) > channel_statistics[BlueChannel].maxima)
channel_statistics[BlueChannel].maxima=(double)
GetBluePixelComponent(p);
channel_statistics[BlueChannel].sum+=GetBluePixelComponent(p);
- channel_statistics[BlueChannel].sum_squared+=(double) p->blue*
+ channel_statistics[BlueChannel].sum_squared+=(double) GetBluePixelComponent(p)*
GetBluePixelComponent(p);
- channel_statistics[BlueChannel].sum_cubed+=(double) p->blue*p->blue*
+ channel_statistics[BlueChannel].sum_cubed+=(double) GetBluePixelComponent(p)*GetBluePixelComponent(p)*
GetBluePixelComponent(p);
- channel_statistics[BlueChannel].sum_fourth_power+=(double) p->blue*
- p->blue*p->blue*GetBluePixelComponent(p);
+ channel_statistics[BlueChannel].sum_fourth_power+=(double) GetBluePixelComponent(p)*
+ GetBluePixelComponent(p)*GetBluePixelComponent(p)*GetBluePixelComponent(p);
if (image->matte != MagickFalse)
{
- if ((double) p->opacity < channel_statistics[OpacityChannel].minima)
+ if ((double) GetOpacityPixelComponent(p) < channel_statistics[OpacityChannel].minima)
channel_statistics[OpacityChannel].minima=(double)
GetOpacityPixelComponent(p);
- if ((double) p->opacity > channel_statistics[OpacityChannel].maxima)
+ if ((double) GetOpacityPixelComponent(p) > channel_statistics[OpacityChannel].maxima)
channel_statistics[OpacityChannel].maxima=(double)
GetOpacityPixelComponent(p);
channel_statistics[OpacityChannel].sum+=GetOpacityPixelComponent(p);
channel_statistics[OpacityChannel].sum_squared+=(double)
- p->opacity*GetOpacityPixelComponent(p);
- channel_statistics[OpacityChannel].sum_cubed+=(double) p->opacity*
- p->opacity*GetOpacityPixelComponent(p);
+ GetOpacityPixelComponent(p)*GetOpacityPixelComponent(p);
+ channel_statistics[OpacityChannel].sum_cubed+=(double) GetOpacityPixelComponent(p)*
+ GetOpacityPixelComponent(p)*GetOpacityPixelComponent(p);
channel_statistics[OpacityChannel].sum_fourth_power+=(double)
- p->opacity*p->opacity*p->opacity*GetOpacityPixelComponent(p);
+ GetOpacityPixelComponent(p)*GetOpacityPixelComponent(p)*GetOpacityPixelComponent(p)*GetOpacityPixelComponent(p);
}
if (image->colorspace == CMYKColorspace)
{
diff --git a/magick/xwindow.c b/magick/xwindow.c
index 9b9ec89..8bcd9ac 100644
--- a/magick/xwindow.c
+++ b/magick/xwindow.c
@@ -107,12 +107,12 @@
(color) : ((pow(((double) QuantumScale*(color)),1.0/(double) blue_gamma)* \
QuantumRange)))
#define XGammaPixel(map,color) (size_t) (map->base_pixel+ \
- ((ScaleQuantumToShort(XRedGamma((color)->red))*map->red_max/65535L)* \
- map->red_mult)+ \
- ((ScaleQuantumToShort(XGreenGamma((color)->green))*map->green_max/65535L)* \
- map->green_mult)+ \
- ((ScaleQuantumToShort(XBlueGamma((color)->blue))*map->blue_max/65535L)* \
- map->blue_mult))
+ ((ScaleQuantumToShort(XRedGamma((color)->red))*maGetRedPixelComponent(p)_max/65535L)* \
+ maGetRedPixelComponent(p)_mult)+ \
+ ((ScaleQuantumToShort(XGreenGamma((color)->green))*maGetGreenPixelComponent(p)_max/65535L)* \
+ maGetGreenPixelComponent(p)_mult)+ \
+ ((ScaleQuantumToShort(XBlueGamma((color)->blue))*maGetBluePixelComponent(p)_max/65535L)* \
+ maGetBluePixelComponent(p)_mult))
#define XGreenGamma(color) ClampToQuantum(green_gamma == 1.0 ? (double) \
(color) : ((pow(((double) QuantumScale*(color)),1.0/(double) green_gamma)* \
QuantumRange)))
@@ -120,9 +120,9 @@
(color) : ((pow(((double) QuantumScale*(color)),1.0/(double) red_gamma)* \
QuantumRange)))
#define XStandardPixel(map,color) (size_t) (map->base_pixel+ \
- (((color)->red*map->red_max/65535L)*map->red_mult)+ \
- (((color)->green*map->green_max/65535L)*map->green_mult)+ \
- (((color)->blue*map->blue_max/65535L)*map->blue_mult))
+ (((color)->red*maGetRedPixelComponent(p)_max/65535L)*maGetRedPixelComponent(p)_mult)+ \
+ (((color)->green*maGetGreenPixelComponent(p)_max/65535L)*maGetGreenPixelComponent(p)_mult)+ \
+ (((color)->blue*maGetBluePixelComponent(p)_max/65535L)*maGetBluePixelComponent(p)_mult))
#define AccentuateModulate ScaleCharToQuantum(80)
#define HighlightModulate ScaleCharToQuantum(125)
@@ -6385,7 +6385,7 @@
for (x=(int) canvas->columns-1; x >= 0; x--)
{
byte>>=1;
- if (p->opacity > (QuantumRange/2))
+ if (GetOpacityPixelComponent(p) > (QuantumRange/2))
byte|=0x80;
bit++;
if (bit == 8)
@@ -7012,7 +7012,7 @@
for (x=(int) canvas->columns-1; x >= 0; x--)
{
byte<<=1;
- if (p->opacity > (QuantumRange/2))
+ if (GetOpacityPixelComponent(p) > (QuantumRange/2))
byte|=0x01;
bit++;
if (bit == 8)