% o exception: return any errors or warnings in this structure.
%
*/
+
+static inline MagickBooleanType CopyPixel(const Image *image,const Quantum *source,
+ Quantum *destination)
+{
+ register ssize_t
+ i;
+
+ if (source == (const Quantum *) NULL)
+ {
+ destination[RedPixelChannel]=ClampToQuantum(image->background_color.red);
+ destination[GreenPixelChannel]=ClampToQuantum(image->background_color.green);
+ destination[BluePixelChannel]=ClampToQuantum(image->background_color.blue);
+ destination[BlackPixelChannel]=ClampToQuantum(image->background_color.black);
+ destination[AlphaPixelChannel]=ClampToQuantum(image->background_color.alpha);
+ return(MagickFalse);
+ }
+ for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
+ {
+ PixelChannel channel=GetPixelChannelChannel(image,i);
+ destination[channel]=source[i];
+ }
+ return(MagickTrue);
+}
+
MagickExport MagickBooleanType GetOneAuthenticPixel(Image *image,
const ssize_t x,const ssize_t y,Quantum *pixel,ExceptionInfo *exception)
{
register Quantum
*restrict q;
- register ssize_t
- i;
-
assert(image != (Image *) NULL);
assert(image->signature == MagickSignature);
assert(image->cache != (Cache) NULL);
return(cache_info->methods.get_one_authentic_pixel_from_handler(image,x,y,
pixel,exception));
q=GetAuthenticPixelsCache(image,x,y,1UL,1UL,exception);
- if (q == (Quantum *) NULL)
- {
- pixel[RedPixelChannel]=ClampToQuantum(image->background_color.red);
- pixel[GreenPixelChannel]=ClampToQuantum(image->background_color.green);
- pixel[BluePixelChannel]=ClampToQuantum(image->background_color.blue);
- pixel[BlackPixelChannel]=ClampToQuantum(image->background_color.black);
- pixel[AlphaPixelChannel]=ClampToQuantum(image->background_color.alpha);
- return(MagickFalse);
- }
- for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
- {
- PixelChannel channel=GetPixelChannelChannel(image,i);
- pixel[channel]=q[i];
- }
- return(MagickTrue);
+ return(CopyPixel(image,q,pixel));
}
\f
/*
register Quantum
*restrict q;
- register ssize_t
- i;
-
assert(image != (const Image *) NULL);
assert(image->signature == MagickSignature);
assert(image->cache != (Cache) NULL);
(void) memset(pixel,0,MaxPixelChannels*sizeof(*pixel));
q=GetAuthenticPixelCacheNexus(image,x,y,1UL,1UL,cache_info->nexus_info[id],
exception);
- if (q == (Quantum *) NULL)
- {
- pixel[RedPixelChannel]=ClampToQuantum(image->background_color.red);
- pixel[GreenPixelChannel]=ClampToQuantum(image->background_color.green);
- pixel[BluePixelChannel]=ClampToQuantum(image->background_color.blue);
- pixel[BlackPixelChannel]=ClampToQuantum(image->background_color.black);
- pixel[AlphaPixelChannel]=ClampToQuantum(image->background_color.alpha);
- return(MagickFalse);
- }
- for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
- {
- PixelChannel channel=GetPixelChannelChannel(image,i);
- pixel[channel]=q[i];
- }
- return(MagickTrue);
+ return(CopyPixel(image,q,pixel));
}
\f
/*
const Quantum
*p;
- register ssize_t
- i;
-
assert(image != (const Image *) NULL);
assert(image->signature == MagickSignature);
assert(image->cache != (Cache) NULL);
assert(id < (int) cache_info->number_threads);
p=GetVirtualPixelsFromNexus(image,GetPixelCacheVirtualMethod(image),x,y,
1UL,1UL,cache_info->nexus_info[id],exception);
- if (p == (const Quantum *) NULL)
- {
- pixel[RedPixelChannel]=ClampToQuantum(image->background_color.red);
- pixel[GreenPixelChannel]=ClampToQuantum(image->background_color.green);
- pixel[BluePixelChannel]=ClampToQuantum(image->background_color.blue);
- pixel[BlackPixelChannel]=ClampToQuantum(image->background_color.black);
- pixel[AlphaPixelChannel]=ClampToQuantum(image->background_color.alpha);
- return(MagickFalse);
- }
- for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
- {
- PixelChannel channel=GetPixelChannelChannel(image,i);
- pixel[channel]=p[i];
- }
- return(MagickTrue);
+ return(CopyPixel(image,p,pixel));
}
\f
/*
const Quantum
*p;
- register ssize_t
- i;
-
assert(image != (const Image *) NULL);
assert(image->signature == MagickSignature);
assert(image->cache != (Cache) NULL);
(void) memset(pixel,0,MaxPixelChannels*sizeof(*pixel));
p=GetVirtualPixelsFromNexus(image,virtual_pixel_method,x,y,1UL,1UL,
cache_info->nexus_info[id],exception);
- if (p == (const Quantum *) NULL)
- {
- pixel[RedPixelChannel]=ClampToQuantum(image->background_color.red);
- pixel[GreenPixelChannel]=ClampToQuantum(image->background_color.green);
- pixel[BluePixelChannel]=ClampToQuantum(image->background_color.blue);
- pixel[BlackPixelChannel]=ClampToQuantum(image->background_color.black);
- pixel[AlphaPixelChannel]=ClampToQuantum(image->background_color.alpha);
- return(MagickFalse);
- }
- for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
- {
- PixelChannel channel=GetPixelChannelChannel(image,i);
- pixel[channel]=p[i];
- }
- return(MagickTrue);
+ return(CopyPixel(image,p,pixel));
}
\f
/*