18#ifndef MAGICKCORE_PIXEL_H
19#define MAGICKCORE_PIXEL_H
21#include "MagickCore/colorspace.h"
23#if defined(__cplusplus) || defined(c_plusplus)
27#define MaxPixelChannels 64
33#if defined(MAGICKCORE_64BIT_CHANNEL_MASK_SUPPORT)
34typedef enum : MagickOffsetType
39 UndefinedChannel = 0x0000,
44 GreenChannel = 0x0002,
45 MagentaChannel = 0x0002,
49 YellowChannel = 0x0004,
50 BlackChannel = 0x0008,
51 AlphaChannel = 0x0010,
52 OpacityChannel = 0x0010,
53 IndexChannel = 0x0020,
54 ReadMaskChannel = 0x0040,
55 WriteMaskChannel = 0x0080,
57 CompositeMaskChannel = 0x0200,
58 CompositeChannels = 0x001F,
59#if defined(MAGICKCORE_64BIT_CHANNEL_MASK_SUPPORT)
60 AllChannels = MagickLLConstant(0x7FFFFFFFFFFFFFFF),
62 AllChannels = 0X7FFFFFF,
71 TrueAlphaChannel = 0x0100,
73 GrayChannels = 0x0400,
74 SyncChannels = 0x20000,
75 DefaultChannels = AllChannels
80 UndefinedPixelChannel = 0,
85 LabelPixelChannel = 0,
88 GreenPixelChannel = 1,
89 MagentaPixelChannel = 1,
93 YellowPixelChannel = 2,
95 BlackPixelChannel = 3,
96 AlphaPixelChannel = 4,
97 IndexPixelChannel = 5,
98 ReadMaskPixelChannel = 6,
99 WriteMaskPixelChannel = 7,
100 MetaPixelChannel = 8,
101 CompositeMaskPixelChannel = 9,
102 MetaPixelChannels = 10,
103 IntensityPixelChannel = MaxPixelChannels,
104 CompositePixelChannel = MaxPixelChannels,
105 SyncPixelChannel = MaxPixelChannels+1
110 UndefinedPixelIntensityMethod = 0,
111 AveragePixelIntensityMethod,
112 BrightnessPixelIntensityMethod,
113 LightnessPixelIntensityMethod,
114 MSPixelIntensityMethod,
115 Rec601LumaPixelIntensityMethod,
116 Rec601LuminancePixelIntensityMethod,
117 Rec709LumaPixelIntensityMethod,
118 Rec709LuminancePixelIntensityMethod,
119 RMSPixelIntensityMethod
120} PixelIntensityMethod;
124 UndefinedInterpolatePixel,
125 AverageInterpolatePixel,
126 Average9InterpolatePixel,
127 Average16InterpolatePixel,
128 BackgroundInterpolatePixel,
129 BilinearInterpolatePixel,
130 BlendInterpolatePixel,
131 CatromInterpolatePixel,
132 IntegerInterpolatePixel,
133 MeshInterpolatePixel,
134 NearestInterpolatePixel,
135 SplineInterpolatePixel
136} PixelInterpolateMethod;
140 UndefinedPixelMask = 0x000000,
141 ReadPixelMask = 0x000001,
142 WritePixelMask = 0x000002,
143 CompositePixelMask = 0x000004
148 UndefinedPixelTrait = 0x000000,
149 CopyPixelTrait = 0x000001,
150 UpdatePixelTrait = 0x000002,
151 BlendPixelTrait = 0x000004
226extern MagickExport ChannelType
227 SetPixelChannelMask(
Image *,
const ChannelType);
229extern MagickExport MagickBooleanType
230 ExportImagePixels(
const Image *,
const ssize_t,
const ssize_t,
const size_t,
231 const size_t,
const char *,
const StorageType,
void *,
ExceptionInfo *),
232 ImportImagePixels(
Image *,
const ssize_t,
const ssize_t,
const size_t,
233 const size_t,
const char *,
const StorageType,
const void *,
ExceptionInfo *),
234 InterpolatePixelChannel(
const Image *magick_restrict,
const CacheView_ *,
235 const PixelChannel,
const PixelInterpolateMethod,
const double,
const double,
237 InterpolatePixelChannels(
const Image *magick_restrict,
const CacheView_ *,
238 const Image * magick_restrict,
const PixelInterpolateMethod,
const double,
241 const PixelInterpolateMethod,
const double,
const double,
PixelInfo *,
243 IsFuzzyEquivalencePixel(
const Image *,
const Quantum *,
const Image *,
244 const Quantum *) magick_attribute((__pure__)),
246 magick_attribute((__pure__)),
250extern MagickExport MagickRealType
251 GetPixelInfoIntensity(
const Image *magick_restrict,
252 const PixelInfo *magick_restrict) magick_hot_spot,
253 GetPixelIntensity(
const Image *magick_restrict,
254 const Quantum *magick_restrict) magick_hot_spot;
257 *AcquirePixelChannelMap(
void),
264extern MagickExport MagickRealType
265 DecodePixelGamma(
const MagickRealType) magick_hot_spot,
266 EncodePixelGamma(
const MagickRealType) magick_hot_spot;
268extern MagickExport
void
272#if defined(__cplusplus) || defined(c_plusplus)