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)
25extern "C" {
26#endif
27
28/*
29 Pixel enum declarations.
30*/
31typedef 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
49typedef enum
50{
54 PixelY = 0,
66
67typedef enum
68{
80
81/*
82 Pixel typedef declarations.
83*/
84typedef struct _DoublePixelPacket
85{
86 double
93
94typedef struct _LongPixelPacket
95{
96 unsigned int
103
104typedef struct _MagickPixelPacket
105{
108
111
114
115 double
117
118 size_t
120
128
130
131typedef 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
151{
152 Quantum
159
160typedef struct _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
186extern 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 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 MagickPixelPacket * CloneMagickPixelPacket(const MagickPixelPacket *)
Definition pixel.c:93
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