MagickCore
6.9.10
Convert, Edit, Or Compose Bitmap Images
|
Go to the documentation of this file.
18 #ifndef MAGICKCORE_COLORSPACE_H
19 #define MAGICKCORE_COLORSPACE_H
21 #if defined(__cplusplus) || defined(c_plusplus)
76 #if defined(__cplusplus) || defined(c_plusplus)
ColorspaceType colorspace
Definition: image.h:158
#define QuantumScale
Definition: magick-type.h:120
#define MagickExport
Definition: method-attribute.h:80
static void ConvertRGBToCMY(const Quantum red, const Quantum green, const Quantum blue, double *cyan, double *magenta, double *yellow)
Definition: colorspace.c:162
MagickBooleanType debug
Definition: image.h:290
char filename[MaxTextExtent]
Definition: image.h:278
MagickProgressMonitor progress_monitor
Definition: image.h:264
@ Rec709LuminancePixelIntensityMethod
Definition: pixel.h:76
MagickPrivate MagickBooleanType SyncImagePixelCache(Image *, ExceptionInfo *)
Definition: cache.c:5642
MagickBooleanType matte
Definition: image.h:171
MagickExport MagickBooleanType SetImageProgress(const Image *image, const char *tag, const MagickOffsetType offset, const MagickSizeType extent)
Definition: monitor.c:136
@ ColorSeparationType
Definition: image.h:59
static void ConvertYUVToRGB(const double Y, const double U, const double V, Quantum *red, Quantum *green, Quantum *blue)
Definition: colorspace.c:1627
MagickExport MagickBooleanType IsStringNotFalse(const char *value)
Definition: string.c:1527
MagickExport MagickBooleanType SetImageColorspace(Image *, const ColorspaceType)
MagickRealType red
Definition: pixel.h:122
MagickExport void ConvertLCHabToRGB(const double luma, const double chroma, const double hue, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:761
@ DirectClass
Definition: magick-type.h:187
static void ConvertRGBToYCbCr(const Quantum red, const Quantum green, const Quantum blue, double *Y, double *Cb, double *Cr)
Definition: colorspace.c:238
@ LuvColorspace
Definition: colorspace.h:50
#define GetMagickModule()
Definition: log.h:29
MagickExport CacheView * DestroyCacheView(CacheView *cache_view)
Definition: cache-view.c:256
MagickExport void GetMagickPixelPacket(const Image *image, MagickPixelPacket *pixel)
Definition: pixel.c:2242
static ssize_t RoundToYCC(const MagickRealType value)
Definition: colorspace.c:1551
@ UndefinedColorspace
Definition: colorspace.h:27
static void ConvertLuvToRGB(const double L, const double u, const double v, Quantum *red, Quantum *green, Quantum *blue)
Definition: colorspace.c:1539
MagickExport MagickBooleanType TransformRGBImage(Image *, const ColorspaceType)
Definition: colorspace.c:1638
MagickExport MagickBooleanType SetImageGray(Image *, ExceptionInfo *)
#define MagickCoreSignature
Definition: method-attribute.h:86
static void ConvertRGBToLuv(const Quantum red, const Quantum green, const Quantum blue, double *L, double *u, double *v)
Definition: colorspace.c:202
#define RGBTransformImageTag
const MagickExport char * GetImageProperty(const Image *image, const char *property)
Definition: property.c:2217
double gamma
Definition: image.h:186
static void ConvertRGBToYIQ(const Quantum red, const Quantum green, const Quantum blue, double *Y, double *I, double *Q)
Definition: colorspace.c:260
PrimaryInfo blue_primary
Definition: image.h:128
@ LogColorspace
Definition: colorspace.h:48
MagickExport PixelPacket * GetCacheViewAuthenticPixels(CacheView *cache_view, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache-view.c:473
#define magick_restrict
Definition: MagickCore.h:41
ChromaticityInfo chromaticity
Definition: image.h:189
static void ConvertXYZToLuv(const double X, const double Y, const double Z, double *L, double *u, double *v)
Definition: gem-private.h:64
MagickExport MagickBooleanType SetImageGray(Image *image, ExceptionInfo *exception)
Definition: colorspace.c:1267
static MagickBooleanType IssRGBCompatibleColorspace(const ColorspaceType colorspace)
Definition: colorspace-private.h:121
#define SetPixelRed(pixel, value)
Definition: pixel-accessor.h:82
MagickExport void ConvertRGBToHSV(const Quantum red, const Quantum green, const Quantum blue, double *hue, double *saturation, double *value)
Definition: gem.c:1199
MagickExport void ConvertRGBToHSL(const Quantum red, const Quantum green, const Quantum blue, double *hue, double *saturation, double *lightness)
Definition: gem.c:1127
MagickExport ColorspaceType GetImageColorspaceType(const Image *image, ExceptionInfo *exception)
Definition: colorspace.c:112
PrimaryInfo red_primary
Definition: image.h:126
static void ConvertRGBToYPbPr(const Quantum red, const Quantum green, const Quantum blue, double *Y, double *Pb, double *Pr)
Definition: colorspace.c:230
static void ConvertXYZToRGB(const double X, const double Y, const double Z, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem-private.h:149
@ OHTAColorspace
Definition: colorspace.h:31
@ Rec709YCbCrColorspace
Definition: colorspace.h:47
MagickExport void ConvertRGBToHCLp(const Quantum red, const Quantum green, const Quantum blue, double *hue, double *chroma, double *luma)
Definition: gem.c:927
MagickExport void ConvertHSIToRGB(const double hue, const double saturation, const double intensity, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:387
size_t columns
Definition: image.h:174
static void ConvertLMSToXYZ(const double L, const double M, const double S, double *X, double *Y, double *Z)
Definition: colorspace.c:1519
@ UndefinedType
Definition: image.h:51
#define SetPixelGreen(pixel, value)
Definition: pixel-accessor.h:77
@ HCLpColorspace
Definition: colorspace.h:59
@ HSBColorspace
Definition: colorspace.h:41
Quantum IndexPacket
Definition: pixel.h:129
static void ConvertRGBToCMYK(MagickPixelPacket *pixel)
Definition: colorspace-private.h:40
ImageType type
Definition: image.h:334
@ sRGBColorspace
Definition: colorspace.h:40
#define GetPixelRed(pixel)
Definition: pixel-accessor.h:50
@ ColorSeparationMatteType
Definition: image.h:60
@ ResourceLimitError
Definition: exception.h:55
Quantum blue
Definition: pixel.h:143
static void ConvertRGBToLab(const Quantum red, const Quantum green, const Quantum blue, double *L, double *a, double *b)
Definition: colorspace.c:170
@ XYZColorspace
Definition: colorspace.h:33
Definition: cache-view.c:65
static MagickBooleanType IssRGBColorspace(const ColorspaceType colorspace)
Definition: colorspace-private.h:113
@ HSVColorspace
Definition: colorspace.h:58
@ LCHColorspace
Definition: colorspace.h:52
static MagickBooleanType IsMonochromePixel(const PixelPacket *pixel)
Definition: pixel-private.h:53
MagickExport MagickRealType EncodePixelGamma(const MagickRealType pixel)
Definition: pixel.c:351
double y
Definition: image.h:101
@ YCCColorspace
Definition: colorspace.h:35
static void ConvertRGBToXYZ(const Quantum red, const Quantum green, const Quantum blue, double *X, double *Y, double *Z)
Definition: gem-private.h:85
@ HWBColorspace
Definition: colorspace.h:43
MagickExport MagickBooleanType SyncImage(Image *image)
Definition: image.c:3680
@ HSIColorspace
Definition: colorspace.h:57
@ MagickTrue
Definition: magick-type.h:194
MagickExport MagickBooleanType RGBTransformImage(Image *image, const ColorspaceType colorspace)
Definition: colorspace.c:268
@ YCbCrColorspace
Definition: colorspace.h:34
@ YPbPrColorspace
Definition: colorspace.h:37
MagickExport MagickBooleanType SyncCacheViewAuthenticPixels(CacheView *magick_restrict cache_view, ExceptionInfo *exception)
Definition: cache-view.c:1000
MagickRealType blue
Definition: pixel.h:124
static void ConvertYPbPrToRGB(const double Y, const double Pb, const double Pr, Quantum *red, Quantum *green, Quantum *blue)
Definition: colorspace.c:1588
MagickExport MagickBooleanType TransformRGBImage(Image *image, const ColorspaceType colorspace)
Definition: colorspace.c:1638
static void ConvertLabToXYZ(const double L, const double a, const double b, double *X, double *Y, double *Z)
Definition: gem-private.h:33
MagickExport void ConvertRGBToLCHuv(const Quantum red, const Quantum green, const Quantum blue, double *luma, double *chroma, double *hue)
Definition: gem.c:1406
@ TraceEvent
Definition: log.h:38
static void ConvertYIQToRGB(const double Y, const double I, const double Q, Quantum *red, Quantum *green, Quantum *blue)
Definition: colorspace.c:1616
@ YUVColorspace
Definition: colorspace.h:38
PixelPacket * colormap
Definition: image.h:180
double z
Definition: image.h:102
@ xyYColorspace
Definition: colorspace.h:61
static void ConvertLuvToXYZ(const double L, const double u, const double v, double *X, double *Y, double *Z)
Definition: gem-private.h:132
MagickExport IndexPacket * GetCacheViewAuthenticIndexQueue(CacheView *cache_view)
Definition: cache-view.c:564
MagickExport ImageType IdentifyImageType(const Image *image, ExceptionInfo *exception)
Definition: attribute.c:851
MagickExport void ConvertRGBToHSB(const Quantum red, const Quantum green, const Quantum blue, double *hue, double *saturation, double *brightness)
Definition: gem.c:994
struct _TransformPacket TransformPacket
static MagickBooleanType IsGrayPixel(const PixelPacket *pixel)
Definition: pixel-private.h:32
MagickExport CacheView * AcquireAuthenticCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:111
@ GrayscaleMatteType
Definition: image.h:54
static void ConvertLabToRGB(const double L, const double a, const double b, Quantum *red, Quantum *green, Quantum *blue)
Definition: colorspace.c:1560
RenderingIntent rendering_intent
Definition: image.h:192
MagickExport MagickRealType DecodePixelGamma(const MagickRealType pixel)
Definition: pixel.c:255
ColorspaceType
Definition: colorspace.h:25
MagickExport void ConvertHSBToRGB(const double hue, const double saturation, const double brightness, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:284
size_t colors
Definition: image.h:177
MagickExport ColorspaceType GetImageColorspaceType(const Image *, ExceptionInfo *)
Definition: colorspace.c:112
MagickExport void ConvertRGBToHWB(const Quantum red, const Quantum green, const Quantum blue, double *hue, double *whiteness, double *blackness)
Definition: gem.c:1268
MagickExport void ConvertHSVToRGB(const double hue, const double saturation, const double value, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:570
double x
Definition: image.h:100
ExceptionInfo exception
Definition: image.h:287
static void ConvertRGBToYDbDr(const Quantum red, const Quantum green, const Quantum blue, double *Y, double *Db, double *Dr)
Definition: colorspace.c:252
PrimaryInfo green_primary
Definition: image.h:127
#define SetPixelBlue(pixel, value)
Definition: pixel-accessor.h:71
static Quantum ClampToQuantum(const MagickRealType value)
Definition: quantum.h:87
static void ConvertRGBToYUV(const Quantum red, const Quantum green, const Quantum blue, double *Y, double *U, double *V)
Definition: colorspace.c:244
@ BilevelType
Definition: image.h:52
PixelIntensityMethod intensity
Definition: image.h:352
@ MagickFalse
Definition: magick-type.h:193
MagickBooleanType(* MagickProgressMonitor)(const char *, const MagickOffsetType, const MagickSizeType, void *)
Definition: monitor.h:26
static void ConvertxyYToRGB(const double low_x, const double low_y, const double cap_Y, Quantum *red, Quantum *green, Quantum *blue)
Definition: colorspace.c:1572
#define GetPixelBlue(pixel)
Definition: pixel-accessor.h:38
MagickExport void ConvertRGBToLCHab(const Quantum red, const Quantum green, const Quantum blue, double *luma, double *chroma, double *hue)
Definition: gem.c:1345
MagickExport void ConvertHCLpToRGB(const double hue, const double chroma, const double luma, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:179
MagickExport void ConvertHWBToRGB(const double hue, const double whiteness, const double blackness, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:677
@ TransparentColorspace
Definition: colorspace.h:30
static void ConvertXYZToLab(const double X, const double Y, const double Z, double *L, double *a, double *b)
Definition: gem-private.h:104
PrimaryInfo white_point
Definition: image.h:129
Quantum red
Definition: pixel.h:145
MagickExport MagickBooleanType DeleteImageProfile(Image *image, const char *name)
Definition: profile.c:195
static double PerceptibleReciprocal(const double x)
Definition: pixel-accessor.h:124
#define QuantumRange
Definition: magick-type.h:86
@ CMYKColorspace
Definition: colorspace.h:39
size_t rows
Definition: image.h:175
const MagickExport PixelPacket * GetCacheViewVirtualPixels(const CacheView *cache_view, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache-view.c:723
Quantum green
Definition: pixel.h:144
static void SetMagickPixelPacket(const Image *image, const PixelPacket *color, const IndexPacket *index, MagickPixelPacket *pixel)
Definition: pixel-private.h:78
@ Rec709LumaColorspace
Definition: colorspace.h:46
size_t signature
Definition: image.h:307
MagickBooleanType
Definition: magick-type.h:191
MagickExport void ConvertHSLToRGB(const double hue, const double saturation, const double lightness, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:460
@ LCHabColorspace
Definition: colorspace.h:54
static double StringToDouble(const char *magick_restrict string, char **magick_restrict sentinal)
Definition: string-private.h:42
@ LinearGRAYColorspace
Definition: colorspace.h:62
static void ConvertCMYKToRGB(MagickPixelPacket *pixel)
Definition: colorspace-private.h:30
MagickExport MagickBooleanType RGBTransformImage(Image *, const ColorspaceType)
@ LCHuvColorspace
Definition: colorspace.h:55
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1077
@ CMYColorspace
Definition: colorspace.h:49
Definition: exception.h:102
ClassType storage_class
Definition: image.h:155
#define TransformRGBImageTag
@ LMSColorspace
Definition: colorspace.h:53
MagickDoubleType MagickRealType
Definition: magick-type.h:125
MagickExport void ConvertHCLToRGB(const double hue, const double chroma, const double luma, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:86
@ GRAYColorspace
Definition: colorspace.h:29
MagickExport CacheView * AcquireVirtualCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:153
@ GrayscaleType
Definition: image.h:53
#define GetPixelGray(pixel)
Definition: pixel-accessor.h:42
@ PseudoClass
Definition: magick-type.h:188
MagickExport MagickBooleanType TransformImageColorspace(Image *image, const ColorspaceType colorspace)
Definition: colorspace.c:1448
MagickExport MagickBooleanType SetImageMonochrome(Image *, ExceptionInfo *)
@ HCLColorspace
Definition: colorspace.h:51
@ UndefinedIntent
Definition: profile.h:44
@ YDbDrColorspace
Definition: colorspace.h:60
MagickExport MagickBooleanType TransformImageColorspace(Image *, const ColorspaceType)
static void ConvertXYZToLMS(const double x, const double y, const double z, double *L, double *M, double *S)
Definition: colorspace.c:182
static void ConvertCMYToRGB(const double cyan, const double magenta, const double yellow, Quantum *red, Quantum *green, Quantum *blue)
Definition: colorspace.c:1511
static void ConvertRGBToxyY(const Quantum red, const Quantum green, const Quantum blue, double *low_x, double *low_y, double *cap_Y)
Definition: colorspace.c:214
#define SetPixelGray(pixel, value)
Definition: pixel-accessor.h:75
MagickExport void ConvertRGBToHCL(const Quantum red, const Quantum green, const Quantum blue, double *hue, double *chroma, double *luma)
Definition: gem.c:860
MagickExport MagickRealType GetPixelIntensity(const Image *image, const PixelPacket *magick_restrict pixel)
Definition: pixel.c:2301
@ Rec601LumaColorspace
Definition: colorspace.h:44
MagickExport void ConvertLCHuvToRGB(const double luma, const double chroma, const double hue, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:814
@ scRGBColorspace
Definition: colorspace.h:56
MagickExport MagickBooleanType SetImageStorageClass(Image *image, const ClassType storage_class)
Definition: image.c:2610
#define GetPixelGreen(pixel)
Definition: pixel-accessor.h:43
MagickExport MagickBooleanType SetImageMonochrome(Image *image, ExceptionInfo *exception)
Definition: colorspace.c:1361
@ HSLColorspace
Definition: colorspace.h:42
#define MaxMap
Definition: magick-type.h:78
@ RGBColorspace
Definition: colorspace.h:28
MagickExport void ConvertRGBToHSI(const Quantum red, const Quantum green, const Quantum blue, double *hue, double *saturation, double *intensity)
Definition: gem.c:1070
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
Definition: log.c:1399
@ LabColorspace
Definition: colorspace.h:32
@ Rec601LuminancePixelIntensityMethod
Definition: pixel.h:74
ImageType
Definition: image.h:49
static void ConvertYCbCrToRGB(const double Y, const double Cb, const double Cr, Quantum *red, Quantum *green, Quantum *blue)
Definition: colorspace.c:1599
static void ConvertRGBToLMS(const Quantum red, const Quantum green, const Quantum blue, double *L, double *M, double *S)
Definition: colorspace.c:190
static void ConvertLMSToRGB(const double L, const double M, const double S, Quantum *red, Quantum *green, Quantum *blue)
Definition: colorspace.c:1527
MagickRealType green
Definition: pixel.h:123
@ YIQColorspace
Definition: colorspace.h:36
@ Rec601YCbCrColorspace
Definition: colorspace.h:45
#define ThrowBinaryException(severity, tag, context)
Definition: exception-private.h:29
static void SetPixelPacket(const Image *image, const MagickPixelPacket *pixel, PixelPacket *color, IndexPacket *index)
Definition: pixel-private.h:103
static MagickBooleanType IsRGBColorspace(const ColorspaceType colorspace)
Definition: colorspace-private.h:106
static MagickBooleanType IsGrayColorspace(const ColorspaceType colorspace)
Definition: colorspace-private.h:96
static void ConvertYDbDrToRGB(const double Y, const double Db, const double Dr, Quantum *red, Quantum *green, Quantum *blue)
Definition: colorspace.c:1605
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:544
unsigned short Quantum
Definition: magick-type.h:85
@ PerceptualIntent
Definition: profile.h:46
ssize_t MagickOffsetType
Definition: magick-type.h:135
MagickExport MagickBooleanType SetImageColorspace(Image *image, const ColorspaceType colorspace)
Definition: colorspace.c:1189