MagickCore  6.9.11-60
Convert, Edit, Or Compose Bitmap Images
pixel.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization
3  dedicated to making software imaging solutions freely available.
4 
5  You may not use this file except in compliance with the License. You may
6  obtain a copy of the License at
7 
8  https://imagemagick.org/script/license.php
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 
16  MagickCore image constitute methods.
17 */
18 #ifndef MAGICKCORE_PIXEL_H
19 #define MAGICKCORE_PIXEL_H
20 
21 #include "magick/colorspace.h"
22 #include "magick/constitute.h"
23 
24 #if defined(__cplusplus) || defined(c_plusplus)
25 extern "C" {
26 #endif
27 
28 /*
29  Pixel enum declarations.
30 */
31 typedef enum
32 {
34  AverageInterpolatePixel, /* Average 4 nearest neighbours */
35  BicubicInterpolatePixel, /* Catmull-Rom interpolation */
36  BilinearInterpolatePixel, /* Triangular filter interpolation */
37  FilterInterpolatePixel, /* Use resize filter - (very slow) */
38  IntegerInterpolatePixel, /* Integer (floor) interpolation */
39  MeshInterpolatePixel, /* Triangular mesh interpolation */
40  NearestNeighborInterpolatePixel, /* Nearest neighbour only */
41  SplineInterpolatePixel, /* Cubic Spline (blurred) interpolation */
42  Average9InterpolatePixel, /* Average 9 nearest neighbours */
43  Average16InterpolatePixel, /* Average 16 nearest neighbours */
44  BlendInterpolatePixel, /* blend of nearest 1, 2 or 4 pixels */
45  BackgroundInterpolatePixel, /* just return background color */
46  CatromInterpolatePixel /* Catmull-Rom interpolation */
48 
49 typedef enum
50 {
51  PixelRed = 0,
52  PixelCyan = 0,
53  PixelGray = 0,
54  PixelY = 0,
57  PixelCb = 1,
58  PixelBlue = 2,
60  PixelCr = 2,
66 
67 typedef enum
68 {
80 
81 /*
82  Pixel typedef declarations.
83 */
84 typedef struct _DoublePixelPacket
85 {
86  double
87  red,
93 
94 typedef struct _LongPixelPacket
95 {
96  unsigned int
97  red,
103 
104 typedef struct _MagickPixelPacket
105 {
106  ClassType
108 
111 
114 
115  double
117 
118  size_t
120 
128 
130 
131 typedef struct _PixelPacket
132 {
133 #if defined(MAGICKCORE_WORDS_BIGENDIAN)
134 #define MAGICK_PIXEL_RGBA 1
135  Quantum
136  red,
137  green,
138  blue,
139  opacity;
140 #else
141 #define MAGICK_PIXEL_BGRA 1
142  Quantum
147 #endif
149 
150 typedef struct _QuantumPixelPacket
151 {
152  Quantum
159 
160 typedef struct _CacheView
161  CacheView_;
162 
163 /*
164  Pixel method declarations.
165 */
167  ExportImagePixels(const Image *,const ssize_t,const ssize_t,const size_t,
168  const size_t,const char *,const StorageType,void *,ExceptionInfo *),
169  ImportImagePixels(Image *,const ssize_t,const ssize_t,const size_t,
170  const size_t,const char *,const StorageType,const void *),
172  const InterpolatePixelMethod,const double,const double,MagickPixelPacket *,
173  ExceptionInfo *);
174 
177 
185 
186 extern MagickExport void
190 
191 #if defined(__cplusplus) || defined(c_plusplus)
192 }
193 #endif
194 
195 #endif
#define magick_restrict
Definition: MagickCore.h:41
ColorspaceType
Definition: colorspace.h:26
StorageType
Definition: constitute.h:26
MagickDoubleType MagickRealType
Definition: magick-type.h:129
unsigned short Quantum
Definition: magick-type.h:89
ClassType
Definition: magick-type.h:196
MagickBooleanType
Definition: magick-type.h:203
#define MagickExport
Definition: method-attribute.h:80
#define magick_hot_spot
Definition: method-attribute.h:122
MagickExport void GetMagickPixelPacket(const Image *, MagickPixelPacket *)
Definition: pixel.c:2233
PixelComponent
Definition: pixel.h:50
@ PixelYellow
Definition: pixel.h:59
@ PixelBlue
Definition: pixel.h:58
@ PixelCr
Definition: pixel.h:60
@ PixelAlpha
Definition: pixel.h:61
@ PixelRed
Definition: pixel.h:51
@ PixelIndex
Definition: pixel.h:63
@ PixelMagenta
Definition: pixel.h:56
@ PixelBlack
Definition: pixel.h:62
@ PixelGreen
Definition: pixel.h:55
@ PixelCyan
Definition: pixel.h:52
@ PixelCb
Definition: pixel.h:57
@ MaskPixelComponent
Definition: pixel.h:64
@ PixelY
Definition: pixel.h:54
@ PixelGray
Definition: pixel.h:53
MagickExport MagickRealType GetPixelIntensity(const Image *image, const PixelPacket *magick_restrict) magick_hot_spot
MagickExport MagickPixelPacket * CloneMagickPixelPacket(const MagickPixelPacket *)
Definition: pixel.c:93
MagickExport MagickBooleanType ImportImagePixels(Image *, const ssize_t, const ssize_t, const size_t, const size_t, const char *, const StorageType, const void *)
PixelIntensityMethod
Definition: pixel.h:68
@ BrightnessPixelIntensityMethod
Definition: pixel.h:71
@ AveragePixelIntensityMethod
Definition: pixel.h:70
@ LightnessPixelIntensityMethod
Definition: pixel.h:72
@ Rec709LumaPixelIntensityMethod
Definition: pixel.h:75
@ UndefinedPixelIntensityMethod
Definition: pixel.h:69
@ RMSPixelIntensityMethod
Definition: pixel.h:77
@ Rec601LumaPixelIntensityMethod
Definition: pixel.h:73
@ Rec709LuminancePixelIntensityMethod
Definition: pixel.h:76
@ Rec601LuminancePixelIntensityMethod
Definition: pixel.h:74
@ MSPixelIntensityMethod
Definition: pixel.h:78
MagickExport MagickRealType GetMagickPixelIntensity(const Image *image, const MagickPixelPacket *magick_restrict) magick_hot_spot
struct _DoublePixelPacket DoublePixelPacket
MagickExport MagickBooleanType InterpolateMagickPixelPacket(const Image *magick_restrict, const CacheView_ *, const InterpolatePixelMethod, const double, const double, MagickPixelPacket *, ExceptionInfo *)
MagickExport void ConformMagickPixelPacket(Image *, const MagickPixelPacket *, MagickPixelPacket *, ExceptionInfo *)
MagickExport MagickRealType EncodePixelGamma(const MagickRealType) magick_hot_spot
struct _LongPixelPacket LongPixelPacket
Quantum IndexPacket
Definition: pixel.h:129
struct _PixelPacket PixelPacket
MagickExport MagickRealType DecodePixelGamma(const MagickRealType) magick_hot_spot
struct _MagickPixelPacket MagickPixelPacket
struct _QuantumPixelPacket QuantumPixelPacket
InterpolatePixelMethod
Definition: pixel.h:32
@ Average16InterpolatePixel
Definition: pixel.h:43
@ BicubicInterpolatePixel
Definition: pixel.h:35
@ Average9InterpolatePixel
Definition: pixel.h:42
@ BackgroundInterpolatePixel
Definition: pixel.h:45
@ CatromInterpolatePixel
Definition: pixel.h:46
@ SplineInterpolatePixel
Definition: pixel.h:41
@ BilinearInterpolatePixel
Definition: pixel.h:36
@ UndefinedInterpolatePixel
Definition: pixel.h:33
@ AverageInterpolatePixel
Definition: pixel.h:34
@ MeshInterpolatePixel
Definition: pixel.h:39
@ BlendInterpolatePixel
Definition: pixel.h:44
@ NearestNeighborInterpolatePixel
Definition: pixel.h:40
@ FilterInterpolatePixel
Definition: pixel.h:37
@ IntegerInterpolatePixel
Definition: pixel.h:38
MagickExport MagickBooleanType ExportImagePixels(const Image *, const ssize_t, const ssize_t, const size_t, const size_t, const char *, const StorageType, void *, ExceptionInfo *)
Definition: cache-view.c:66
Image * image
Definition: cache-view.c:68
Definition: pixel.h:85
double blue
Definition: pixel.h:89
double red
Definition: pixel.h:87
double opacity
Definition: pixel.h:90
double green
Definition: pixel.h:88
double index
Definition: pixel.h:91
Definition: exception.h:103
Definition: image.h:153
Definition: pixel.h:95
unsigned int blue
Definition: pixel.h:99
unsigned int opacity
Definition: pixel.h:100
unsigned int green
Definition: pixel.h:98
unsigned int red
Definition: pixel.h:97
unsigned int index
Definition: pixel.h:101
Definition: pixel.h:105
double fuzz
Definition: pixel.h:116
MagickBooleanType matte
Definition: pixel.h:113
ColorspaceType colorspace
Definition: pixel.h:110
size_t depth
Definition: pixel.h:119
MagickRealType blue
Definition: pixel.h:124
MagickRealType index
Definition: pixel.h:126
MagickRealType opacity
Definition: pixel.h:125
ClassType storage_class
Definition: pixel.h:107
MagickRealType green
Definition: pixel.h:123
MagickRealType red
Definition: pixel.h:122
Definition: pixel.h:132
Quantum opacity
Definition: pixel.h:146
Quantum green
Definition: pixel.h:144
Quantum blue
Definition: pixel.h:143
Quantum red
Definition: pixel.h:145
Definition: pixel.h:151
Quantum opacity
Definition: pixel.h:156
Quantum red
Definition: pixel.h:153
Quantum index
Definition: pixel.h:157
Quantum green
Definition: pixel.h:154
Quantum blue
Definition: pixel.h:155