*/
#define GetRGBOPixelComponents(pixel, packet) \
+ { \
(packet).red = GetRedPixelComponent((pixel)); \
(packet).green = GetGreenPixelComponent((pixel)); \
(packet).blue = GetBluePixelComponent((pixel)); \
(packet).opacity = GetOpacityPixelComponent((pixel)); \
+ }
+/* Not same as SetRGBOPixelComponent in magick/pixel.h */
#define SetRGBOPixelComponents(pixel, packet) \
+ { \
SetRedPixelComponent((pixel),(packet).red); \
SetGreenPixelComponent((pixel),(packet).green); \
SetBluePixelComponent((pixel),(packet).blue); \
SetOpacityPixelComponent((pixel),(packet).opacity); \
-
+ }
#define GetRGBPixelComponents(pixel, packet) \
+ { \
(packet).red = GetRedPixelComponent((pixel)); \
(packet).green = GetGreenPixelComponent((pixel)); \
- (packet).blue = GetBluePixelComponent((pixel));
+ (packet).blue = GetBluePixelComponent((pixel)); \
+ }
#define SetRGBPixelComponents(pixel, packet) \
+ { \
SetRedPixelComponent((pixel),(packet).red); \
SetGreenPixelComponent((pixel),(packet).green); \
- SetBluePixelComponent((pixel),(packet).blue);
+ SetBluePixelComponent((pixel),(packet).blue); \
+ }
/* Macros for left-bit-replication to ensure that pixels
* and PixelPackets all have the image->depth, and for use
0 : QuantumRange);
#define LBR01RGBPixelPacketComponent(pixelpacket) \
+ { \
LBR01RedPixelPacketComponent((pixelpacket)); \
LBR01GreenPixelPacketComponent((pixelpacket)); \
- LBR01BluePixelPacketComponent((pixelpacket));
+ LBR01BluePixelPacketComponent((pixelpacket)); \
+ }
#define LBR01RGBOPixelPacketComponent(pixelpacket) \
+ { \
LBR01RGBPixelPacketComponent((pixelpacket)); \
- LBR01OpacityPixelPacketComponent((pixelpacket));
+ LBR01OpacityPixelPacketComponent((pixelpacket)); \
+ }
#define LBR01RedPixelComponent(pixel) \
(ScaleQuantumToChar(GetRedPixelComponent((pixel))) < 0x10 ? \
0 : QuantumRange);
#define LBR01RGBPixelComponent(pixel) \
+ { \
LBR01RedPixelComponent((pixel)); \
LBR01GreenPixelComponent((pixel)); \
- LBR01BluePixelComponent((pixel));
+ LBR01BluePixelComponent((pixel)); \
+ }
#define LBR01RGBOPixelComponent(pixel) \
+ { \
LBR01RGBPixelComponent((pixel)); \
- LBR01OpacityPixelComponent((pixel));
+ LBR01OpacityPixelComponent((pixel)); \
+ }
/* LBR02: Replicate top 2 bits */
}
#define LBR02RGBPixelPacketComponent(pixelpacket) \
+ { \
LBR02RedPixelPacketComponent((pixelpacket)); \
LBR02GreenPixelPacketComponent((pixelpacket)); \
- LBR02BluePixelPacketComponent((pixelpacket));
+ LBR02BluePixelPacketComponent((pixelpacket)); \
+ }
#define LBR02RGBOPixelPacketComponent(pixelpacket) \
+ { \
LBR02RGBPixelPacketComponent((pixelpacket)); \
- LBR02OpacityPixelPacketComponent((pixelpacket));
+ LBR02OpacityPixelPacketComponent((pixelpacket)); \
+ }
#define LBR02RedPixelComponent(pixel) \
{ \
}
#define LBR02RGBPixelComponent(pixel) \
+ { \
LBR02RedPixelComponent((pixel)); \
LBR02GreenPixelComponent((pixel)); \
- LBR02BluePixelComponent((pixel));
+ LBR02BluePixelComponent((pixel)); \
+ }
#define LBR02RGBOPixelComponent(pixel) \
+ { \
LBR02RGBPixelComponent((pixel)); \
- LBR02OpacityPixelComponent((pixel));
+ LBR02OpacityPixelComponent((pixel)); \
+ }
/* LBR03: Replicate top 3 bits (only used with opaque pixels during
PNG8 quantization) */
}
#define LBR03RGBPixelPacketComponent(pixelpacket) \
+ { \
LBR03RedPixelPacketComponent((pixelpacket)); \
LBR03GreenPixelPacketComponent((pixelpacket)); \
- LBR03BluePixelPacketComponent((pixelpacket));
+ LBR03BluePixelPacketComponent((pixelpacket)); \
+ }
#define LBR03RedPixelComponent(pixel) \
{ \
}
#define LBR03RGBPixelComponent(pixel) \
+ { \
LBR03RedPixelComponent((pixel)); \
LBR03GreenPixelComponent((pixel)); \
- LBR03BluePixelComponent((pixel));
+ LBR03BluePixelComponent((pixel)); \
+ }
/* LBR04: Replicate top 4 bits */
}
#define LBR04RGBPixelPacketComponent(pixelpacket) \
+ { \
LBR04RedPixelPacketComponent((pixelpacket)); \
LBR04GreenPixelPacketComponent((pixelpacket)); \
- LBR04BluePixelPacketComponent((pixelpacket));
+ LBR04BluePixelPacketComponent((pixelpacket)); \
+ }
#define LBR04RGBOPixelPacketComponent(pixelpacket) \
+ { \
LBR04RGBPixelPacketComponent((pixelpacket)); \
- LBR04OpacityPixelPacketComponent((pixelpacket));
+ LBR04OpacityPixelPacketComponent((pixelpacket)); \
+ }
#define LBR04RedPixelComponent(pixel) \
{ \
}
#define LBR04RGBPixelComponent(pixel) \
+ { \
LBR04RedPixelComponent((pixel)); \
LBR04GreenPixelComponent((pixel)); \
- LBR04BluePixelComponent((pixel));
+ LBR04BluePixelComponent((pixel)); \
+ }
#define LBR04RGBOPixelComponent(pixel) \
+ { \
LBR04RGBPixelComponent((pixel)); \
- LBR04OpacityPixelComponent((pixel));
+ LBR04OpacityPixelComponent((pixel)); \
+ }
/* LBR08: Replicate top 8 bits */
}
#define LBR08RGBPixelPacketComponent(pixelpacket) \
+ { \
LBR08RedPixelPacketComponent((pixelpacket)); \
LBR08GreenPixelPacketComponent((pixelpacket)); \
- LBR08BluePixelPacketComponent((pixelpacket));
+ LBR08BluePixelPacketComponent((pixelpacket)); \
+ }
#define LBR08RGBOPixelPacketComponent(pixelpacket) \
+ { \
LBR08RGBPixelPacketComponent((pixelpacket)); \
- LBR08OpacityPixelPacketComponent((pixelpacket));
+ LBR08OpacityPixelPacketComponent((pixelpacket)); \
+ }
#define LBR08RedPixelComponent(pixel) \
{ \
}
#define LBR08RGBPixelComponent(pixel) \
+ { \
LBR08RedPixelComponent((pixel)); \
LBR08GreenPixelComponent((pixel)); \
- LBR08BluePixelComponent((pixel));
+ LBR08BluePixelComponent((pixel)); \
+ }
#define LBR08RGBOPixelComponent(pixel) \
+ { \
LBR08RGBPixelComponent((pixel)); \
- LBR08OpacityPixelComponent((pixel));
+ LBR08OpacityPixelComponent((pixel)); \
+ }
/* LBR16: Replicate top 16 bits */
}
#define LBR16RGBPixelPacketComponent(pixelpacket) \
+ { \
LBR16RedPixelPacketComponent((pixelpacket)); \
LBR16GreenPixelPacketComponent((pixelpacket)); \
- LBR16BluePixelPacketComponent((pixelpacket));
+ LBR16BluePixelPacketComponent((pixelpacket)); \
+ }
#define LBR16RGBOPixelPacketComponent(pixelpacket) \
+ { \
LBR16RGBPixelPacketComponent((pixelpacket)); \
- LBR16OpacityPixelPacketComponent((pixelpacket));
+ LBR16OpacityPixelPacketComponent((pixelpacket)); \
+ }
#define LBR16RedPixelComponent(pixel) \
{ \
}
#define LBR16RGBPixelComponent(pixel) \
+ { \
LBR16RedPixelComponent((pixel)); \
LBR16GreenPixelComponent((pixel)); \
- LBR16BluePixelComponent((pixel));
+ LBR16BluePixelComponent((pixel)); \
+ }
#define LBR16RGBOPixelComponent(pixel) \
+ { \
LBR16RGBPixelComponent((pixel)); \
- LBR16OpacityPixelComponent((pixel));
+ LBR16OpacityPixelComponent((pixel)); \
+ }
/*
Establish thread safety.
{
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
" No transparent pixel was found");
-
+
ping_color_type&=0x03;
}
}
for (i=0; i < m; i++, yy++)
{
- /* To do: Rewrite using Get/Set***PixelComponent() */
register PixelPacket
*pixels;
if (magn_methy <= 1)
{
- *q=(*pixels); /* replicate previous */
+ /* replicate previous */
+ SetRGBOPixelComponent(q,(pixels));
}
else if (magn_methy == 2 || magn_methy == 4)
{
if (i == 0)
- *q=(*pixels);
+ {
+ SetRGBOPixelComponent(q,(pixels));
+ }
else
{
/* Interpolate */
- (*q).red=(QM) (((ssize_t) (2*i*((*n).red
- -(*pixels).red)+m))/((ssize_t) (m*2))
- +(*pixels).red);
- (*q).green=(QM) (((ssize_t) (2*i*((*n).green
- -(*pixels).green)+m))/((ssize_t) (m*2))
- +(*pixels).green);
- (*q).blue=(QM) (((ssize_t) (2*i*((*n).blue
- -(*pixels).blue)+m))/((ssize_t) (m*2))
- +(*pixels).blue);
+ SetRedPixelComponent(q,
+ ((QM) (((ssize_t)
+ (2*i*(GetRedPixelComponent(n)
+ -GetRedPixelComponent(pixels)+m))/
+ ((ssize_t) (m*2))
+ +GetRedPixelComponent(pixels)))));
+ SetGreenPixelComponent(q,
+ ((QM) (((ssize_t)
+ (2*i*(GetGreenPixelComponent(n)
+ -GetGreenPixelComponent(pixels)+m))/
+ ((ssize_t) (m*2))
+ +GetGreenPixelComponent(pixels)))));
+ SetBluePixelComponent(q,
+ ((QM) (((ssize_t)
+ (2*i*(GetBluePixelComponent(n)
+ -GetBluePixelComponent(pixels)+m))/
+ ((ssize_t) (m*2))
+ +GetBluePixelComponent(pixels)))));
if (image->matte != MagickFalse)
- (*q).opacity=(QM) (((ssize_t)
- (2*i*((*n).opacity
- -(*pixels).opacity)+m))
- /((ssize_t) (m*2))+(*pixels).opacity);
+ SetOpacityPixelComponent(q,
+ ((QM) (((ssize_t)
+ (2*i*(GetOpacityPixelComponent(n)
+ -GetOpacityPixelComponent(pixels)+m))
+ /((ssize_t) (m*2))+
+ GetOpacityPixelComponent(pixels)))));
}
if (magn_methy == 4)
{
/* Replicate nearest */
if (i <= ((m+1) << 1))
- (*q).opacity=(*pixels).opacity+0;
+ SetOpacityPixelComponent(q,
+ (*pixels).opacity+0);
else
- (*q).opacity=(*n).opacity+0;
+ SetOpacityPixelComponent(q,
+ (*n).opacity+0);
}
}
{
/* Replicate nearest */
if (i <= ((m+1) << 1))
- *q=(*pixels);
+ {
+ SetRGBOPixelComponent(q,(pixels));
+ }
else
- *q=(*n);
+ {
+ SetRGBOPixelComponent(q,(n));
+ }
if (magn_methy == 5)
{
- (*q).opacity=(QM) (((ssize_t) (2*i*((*n).opacity
- -(*pixels).opacity)+m))/((ssize_t) (m*2))
- +(*pixels).opacity);
+ SetOpacityPixelComponent(q,
+ (QM) (((ssize_t) (2*i*
+ (GetOpacityPixelComponent(n)
+ -GetOpacityPixelComponent(pixels))
+ +m))/((ssize_t) (m*2))
+ +GetOpacityPixelComponent(pixels)));
}
}
n++;
*pixels;
q=GetAuthenticPixels(image,0,y,image->columns,1,exception);
- /* To do: Rewrite using Get/Set***PixelComponent() */
pixels=q+(image->columns-length);
n=pixels+1;
if (magn_methx <= 1)
{
/* replicate previous */
- /* To do: Rewrite using Get/Set***PixelComponent() */
- *q=(*pixels);
+ SetRGBOPixelComponent(q,(pixels));
}
else if (magn_methx == 2 || magn_methx == 4)
{
if (i == 0)
- *q=(*pixels);
+ {
+ SetRGBOPixelComponent(q,(pixels));
+ }
+ /* To do: Rewrite using Get/Set***PixelComponent() */
else
{
/* Interpolate */
- (*q).red=(QM) ((2*i*((*n).red
- -(*pixels).red)+m)
- /((ssize_t) (m*2))+(*pixels).red);
- (*q).green=(QM) ((2*i*((*n).green
- -(*pixels).green)
- +m)/((ssize_t) (m*2))+(*pixels).green);
- (*q).blue=(QM) ((2*i*((*n).blue
- -(*pixels).blue)+m)
- /((ssize_t) (m*2))+(*pixels).blue);
+ SetRedPixelComponent(q,
+ (QM) ((2*i*(
+ GetRedPixelComponent(n)
+ -GetRedPixelComponent(pixels))+m)
+ /((ssize_t) (m*2))+
+ GetRedPixelComponent(pixels)));
+
+ SetGreenPixelComponent(q,
+ (QM) ((2*i*(
+ GetGreenPixelComponent(n)
+ -GetGreenPixelComponent(pixels))+m)
+ /((ssize_t) (m*2))+
+ GetGreenPixelComponent(pixels)));
+
+ SetBluePixelComponent(q,
+ (QM) ((2*i*(
+ GetBluePixelComponent(n)
+ -GetBluePixelComponent(pixels))+m)
+ /((ssize_t) (m*2))+
+ GetBluePixelComponent(pixels)));
if (image->matte != MagickFalse)
- (*q).opacity=(QM) ((2*i*((*n).opacity
- -(*pixels).opacity)+m)/((ssize_t) (m*2))
- +(*pixels).opacity);
+ SetOpacityPixelComponent(q,
+ (QM) ((2*i*(
+ GetOpacityPixelComponent(n)
+ -GetOpacityPixelComponent(pixels))+m)
+ /((ssize_t) (m*2))+
+ GetOpacityPixelComponent(pixels)));
}
if (magn_methx == 4)
{
/* Replicate nearest */
if (i <= ((m+1) << 1))
- (*q).opacity=(*pixels).opacity+0;
+ {
+ SetOpacityPixelComponent(q,
+ GetOpacityPixelComponent(pixels)+0);
+ }
else
- (*q).opacity=(*n).opacity+0;
+ {
+ SetOpacityPixelComponent(q,
+ GetOpacityPixelComponent(n)+0);
+ }
}
}
{
/* Replicate nearest */
if (i <= ((m+1) << 1))
- *q=(*pixels);
+ {
+ SetRGBOPixelComponent(q,(pixels));
+ }
else
- *q=(*n);
+ {
+ SetRGBOPixelComponent(q,(n));
+ }
if (magn_methx == 5)
{
/* Interpolate */
- (*q).opacity=(QM) ((2*i*((*n).opacity
- -(*pixels).opacity)+m) /((ssize_t) (m*2))
- +(*pixels).opacity);
+ SetOpacityPixelComponent(q,
+ (QM) ((2*i*( GetOpacityPixelComponent(n)
+ -GetOpacityPixelComponent(pixels))+m)/
+ ((ssize_t) (m*2))
+ +GetOpacityPixelComponent(pixels)));
}
}
q++;
image->colormap=NULL;
}
}
-
+
if (image->colorspace != RGBColorspace)
(void) TransformImageColorspace(image,RGBColorspace);
LBR16RGBOPixelComponent(r);
r++;
}
-
+
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
}
LBR08RGBOPixelComponent(r);
r++;
}
-
+
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
}
LBR04RGBOPixelComponent(r);
r++;
}
-
+
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
}
LBR02RGBOPixelComponent(r);
r++;
}
-
+
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
}
LBR01RGBOPixelComponent(r);
r++;
}
-
+
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
}
}
}
}
- }
- }
+ }
+ }
if (image_colors < 257)
{
PixelPacket
colormap[260];
-
+
/*
* Initialize image colormap.
*/
ping_background.index +=
(number_transparent + number_semitransparent);
-
+
/* image_colors < 257; search the colormap instead of the pixels
* to get ping_have_color and ping_have_non_bw
*/
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
" image->colors=%d (%d)",
(int) image->colors, image_colors);
-
+
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
" Update the pixel indexes");
}
break;
indexes=GetAuthenticIndexQueue(image);
-
+
for (x=0; x < (ssize_t) image->columns; x++)
{
for (i=0; i< (ssize_t) image_colors; i++)
{
if ((image->matte == MagickFalse ||
- image->colormap[i].opacity ==
+ image->colormap[i].opacity ==
GetOpacityPixelComponent(q)) &&
- image->colormap[i].red ==
+ image->colormap[i].red ==
GetRedPixelComponent(q) &&
- image->colormap[i].green ==
+ image->colormap[i].green ==
GetGreenPixelComponent(q) &&
- image->colormap[i].blue ==
+ image->colormap[i].blue ==
GetBluePixelComponent(q))
{
SetIndexPixelComponent(indexes+x,i);
SetOpacityPixelComponent(r,OpaqueOpacity);
r++;
}
-
+
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
LBR04RGBPixelComponent(r);
r++;
}
-
+
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
}
LBR03RGBPixelComponent(r);
r++;
}
-
+
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
}
LBR02BluePixelComponent(r);
r++;
}
-
+
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
}
{
image->background_color.red=ScaleCharToQuantum(0x24);
}
-
+
if (image->colormap == NULL)
{
for (y=0; y < (ssize_t) image->rows; y++)
{
r=GetAuthenticPixels(image,0,y,image->columns,1,
exception);
-
+
if (r == (PixelPacket *) NULL)
break;
-
+
for (x=0; x < (ssize_t) image->columns; x++)
{
if (ScaleQuantumToChar(GetRedPixelComponent(r)) == 0x49 &&
}
r++;
}
-
+
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
-
+
}
}
q++;
}
-
+
if (ping_have_cheap_transparency == MagickFalse)
break;
}
break;
}
}
-
+
if (logging != MagickFalse)
{
if (ping_have_cheap_transparency == MagickFalse)
else
{
unsigned int
- mask;
+ mask;
mask=0xffff;