18 #ifndef _MAGICKCORE_PIXEL_ACCESSOR_H 19 #define _MAGICKCORE_PIXEL_ACCESSOR_H 25 #if defined(__cplusplus) || defined(c_plusplus) 29 #define ClampPixelRed(pixel) ClampToQuantum((pixel)->red) 30 #define ClampPixelGreen(pixel) ClampToQuantum((pixel)->green) 31 #define ClampPixelBlue(pixel) ClampToQuantum((pixel)->blue) 32 #define ClampPixelIndex(indexes) ClampToQuantum(*(indexes)) 33 #define ClampPixelOpacity(pixel) ClampToQuantum((pixel)->opacity) 34 #define GetPixela(pixel) ((pixel)->green) 35 #define GetPixelb(pixel) ((pixel)->blue) 36 #define GetPixelAlpha(pixel) (QuantumRange-(pixel)->opacity) 37 #define GetPixelBlack(indexes) (*(indexes)) 38 #define GetPixelBlue(pixel) ((pixel)->blue) 39 #define GetPixelCb(pixel) ((pixel)->green) 40 #define GetPixelCr(pixel) ((pixel)->blue) 41 #define GetPixelCyan(pixel) ((pixel)->red) 42 #define GetPixelGray(pixel) ((pixel)->red) 43 #define GetPixelGreen(pixel) ((pixel)->green) 44 #define GetPixelIndex(indexes) \ 45 ((indexes == (const IndexPacket *) NULL) ? 0 : (*(indexes))) 46 #define GetPixelL(pixel) ((pixel)->red) 47 #define GetPixelMagenta(pixel) ((pixel)->green) 48 #define GetPixelNext(pixel) ((pixel)+1) 49 #define GetPixelOpacity(pixel) ((pixel)->opacity) 50 #define GetPixelRed(pixel) ((pixel)->red) 51 #define GetPixelRGB(pixel,packet) \ 53 (packet)->red=GetPixelRed((pixel)); \ 54 (packet)->green=GetPixelGreen((pixel)); \ 55 (packet)->blue=GetPixelBlue((pixel)); \ 57 #define GetPixelRGBO(pixel,packet) \ 59 (packet)->red=GetPixelRed((pixel)); \ 60 (packet)->green=GetPixelGreen((pixel)); \ 61 (packet)->blue=GetPixelBlue((pixel)); \ 62 (packet)->opacity=GetPixelOpacity((pixel)); \ 64 #define GetPixelY(pixel) ((pixel)->red) 65 #define GetPixelYellow(pixel) ((pixel)->blue) 66 #define SetPixela(pixel,value) ((pixel)->green=(Quantum) (value)) 67 #define SetPixelAlpha(pixel,value) \ 68 ((pixel)->opacity=(Quantum) (QuantumRange-(value))) 69 #define SetPixelb(pixel,value) ((pixel)->blue=(Quantum) (value)) 70 #define SetPixelBlack(indexes,value) (*(indexes)=(Quantum) (value)) 71 #define SetPixelBlue(pixel,value) ((pixel)->blue=(Quantum) (value)) 72 #define SetPixelCb(pixel,value) ((pixel)->green=(Quantum) (value)) 73 #define SetPixelCr(pixel,value) ((pixel)->blue=(Quantum) (value)) 74 #define SetPixelCyan(pixel,value) ((pixel)->red=(Quantum) (value)) 75 #define SetPixelGray(pixel,value) \ 76 ((pixel)->red=(pixel)->green=(pixel)->blue=(Quantum) (value)) 77 #define SetPixelGreen(pixel,value) ((pixel)->green=(Quantum) (value)) 78 #define SetPixelIndex(indexes,value) \ 80 if (indexes != (IndexPacket *) NULL) \ 81 (*(indexes)=(IndexPacket) (value)); \ 83 #define SetPixelL(pixel,value) ((pixel)->red=(Quantum) (value)) 84 #define SetPixelMagenta(pixel,value) ((pixel)->green=(Quantum) (value)) 85 #define SetPixelOpacity(pixel,value) \ 86 ((pixel)->opacity=(Quantum) (value)) 87 #define SetPixelRed(pixel,value) ((pixel)->red=(Quantum) (value)) 88 #define SetPixelRgb(pixel,packet) \ 90 SetPixelRed(pixel,(packet)->red); \ 91 SetPixelGreen(pixel,(packet)->green); \ 92 SetPixelBlue(pixel,(packet)->blue); \ 94 #define SetPixelRGBA(pixel,packet) \ 96 SetPixelRed(pixel,(packet)->red); \ 97 SetPixelGreen(pixel,(packet)->green); \ 98 SetPixelBlue(pixel,(packet)->blue); \ 99 SetPixelAlpha(pixel,(QuantumRange-(packet)->opacity)); \ 101 #define SetPixelRGBO(pixel,packet) \ 103 SetPixelRed(pixel,(packet)->red); \ 104 SetPixelGreen(pixel,(packet)->green); \ 105 SetPixelBlue(pixel,(packet)->blue); \ 106 SetPixelOpacity(pixel,(packet)->opacity); \ 108 #define SetPixelYellow(pixel,value) ((pixel)->blue=(Quantum) (value)) 109 #define SetPixelY(pixel,value) ((pixel)->red=(Quantum) (value)) 113 return(x < 0.0f ? -x : x);
121 return(0.212656f*pixel->red+0.715158f*pixel->green+0.072186f*pixel->blue);
135 return(0.212656f*pixel->red+0.715158f*pixel->green+0.072186f*pixel->blue);
139 return(0.212656f*red+0.715158f*green+0.072186f*blue);
148 #if !defined(MAGICKCORE_HDRI_SUPPORT) 182 0.072186*pixel->
blue);
186 #if defined(__cplusplus) || defined(c_plusplus) Definition: colorspace.h:40
Quantum blue
Definition: pixel.h:143
static MagickRealType AbsolutePixelValue(const MagickRealType x)
Definition: pixel-accessor.h:111
float MagickRealType
Definition: magick-type.h:76
static MagickRealType GetPixelLuma(const Image *restrict image, const PixelPacket *restrict pixel)
Definition: pixel-accessor.h:116
Quantum green
Definition: pixel.h:143
#define MagickEpsilon
Definition: magick-type.h:139
MagickExport MagickRealType DecodePixelGamma(const MagickRealType pixel)
Definition: pixel.c:187
MagickBooleanType
Definition: magick-type.h:211
Quantum red
Definition: pixel.h:143
static MagickBooleanType IsPixelAtDepth(const Quantum pixel, const QuantumAny range)
Definition: pixel-accessor.h:142
Definition: magick-type.h:214
static Quantum PixelPacketIntensity(const PixelPacket *pixel)
Definition: pixel-accessor.h:174
static MagickBooleanType IsPixelGray(const PixelPacket *pixel)
Definition: pixel-accessor.h:158
static Quantum ClampToQuantum(const MagickRealType value)
Definition: quantum.h:87
Definition: magick-type.h:213
static MagickRealType GetPixelLuminance(const Image *restrict image, const PixelPacket *restrict pixel)
Definition: pixel-accessor.h:124
unsigned short Quantum
Definition: magick-type.h:93
Definition: colorspace.h:29
MagickSizeType QuantumAny
Definition: magick-type.h:170
#define QuantumRange
Definition: magick-type.h:94