colorspace.c File Reference

#include "MagickCore/studio.h"
#include "MagickCore/attribute.h"
#include "MagickCore/property.h"
#include "MagickCore/cache.h"
#include "MagickCore/cache-private.h"
#include "MagickCore/cache-view.h"
#include "MagickCore/color.h"
#include "MagickCore/color-private.h"
#include "MagickCore/colorspace.h"
#include "MagickCore/colorspace-private.h"
#include "MagickCore/exception.h"
#include "MagickCore/exception-private.h"
#include "MagickCore/enhance.h"
#include "MagickCore/image.h"
#include "MagickCore/image-private.h"
#include "MagickCore/gem.h"
#include "MagickCore/gem-private.h"
#include "MagickCore/memory_.h"
#include "MagickCore/monitor.h"
#include "MagickCore/monitor-private.h"
#include "MagickCore/pixel-accessor.h"
#include "MagickCore/pixel-private.h"
#include "MagickCore/quantize.h"
#include "MagickCore/quantum.h"
#include "MagickCore/quantum-private.h"
#include "MagickCore/resource_.h"
#include "MagickCore/string_.h"
#include "MagickCore/string-private.h"
#include "MagickCore/utility.h"

Data Structures

struct  _TransformPacket

Defines

#define Jzazbz_b   1.15
#define Jzazbz_g   0.66
#define Jzazbz_c1   (3424.0/4096.0)
#define Jzazbz_c2   (2413.0/128.0)
#define Jzazbz_c3   (2392.0/128.0)
#define Jzazbz_n   (2610.0/16384.0)
#define Jzazbz_p   (1.7*2523.0/32.0)
#define Jzazbz_d   (-0.56)
#define Jzazbz_d0   (1.6295499532821566e-11)
#define sRGBTransformImageTag   "RGBTransform/Image"
#define DisplayGamma   (1.0/1.7)
#define FilmGamma   0.6
#define ReferenceBlack   95.0
#define ReferenceWhite   685.0
#define TransformsRGBImageTag   "Transform/Image"

Typedefs

typedef struct _TransformPacket TransformPacket

Functions

static MagickBooleanType TransformsRGBImage (Image *, ExceptionInfo *)
MagickExport ColorspaceType GetImageColorspaceType (const Image *image, ExceptionInfo *exception)
static void ConvertRGBToCMY (const double red, const double green, const double blue, double *cyan, double *magenta, double *yellow)
static void ConvertXYZToLMS (const double x, const double y, const double z, double *L, double *M, double *S)
static void ConvertRGBToLMS (const double red, const double green, const double blue, double *L, double *M, double *S)
static void ConvertRGBToLuv (const double red, const double green, const double blue, double *L, double *u, double *v)
static void ConvertRGBToxyY (const double red, const double green, const double blue, double *low_x, double *low_y, double *cap_Y)
static void ConvertXYZToJzazbz (const double X, const double Y, const double Z, const double white_luminance, double *Jz, double *az, double *bz)
static void ConvertJzazbzToXYZ (const double Jz, const double az, const double bz, const double white_luminance, double *X, double *Y, double *Z)
static void ConvertRGBToJzazbz (const double red, const double green, const double blue, const double white_luminance, double *Jz, double *az, double *bz)
static void ConvertJzazbzToRGB (const double Jz, const double az, const double bz, const double white_luminance, double *red, double *green, double *blue)
static void ConvertRGBToYDbDr (const double red, const double green, const double blue, double *Y, double *Db, double *Dr)
static void ConvertRGBToYIQ (const double red, const double green, const double blue, double *Y, double *I, double *Q)
static void ConvertRGBToYPbPr (const double red, const double green, const double blue, double *Y, double *Pb, double *Pr)
static void ConvertRGBToYCbCr (const double red, const double green, const double blue, double *Y, double *Cb, double *Cr)
static void ConvertRGBToYUV (const double red, const double green, const double blue, double *Y, double *U, double *V)
static MagickBooleanType sRGBTransformImage (Image *image, const ColorspaceType colorspace, ExceptionInfo *exception)
MagickExport MagickBooleanType SetImageColorspace (Image *image, const ColorspaceType colorspace, ExceptionInfo *exception)
MagickExport MagickBooleanType SetImageGray (Image *image, ExceptionInfo *exception)
MagickExport MagickBooleanType SetImageMonochrome (Image *image, ExceptionInfo *exception)
MagickExport MagickBooleanType TransformImageColorspace (Image *image, const ColorspaceType colorspace, ExceptionInfo *exception)
static void ConvertCMYToRGB (const double cyan, const double magenta, const double yellow, double *red, double *green, double *blue)
static void ConvertLMSToXYZ (const double L, const double M, const double S, double *X, double *Y, double *Z)
static void ConvertLMSToRGB (const double L, const double M, const double S, double *red, double *green, double *blue)
static void ConvertLuvToRGB (const double L, const double u, const double v, double *red, double *green, double *blue)
static ssize_t RoundToYCC (const double value)
static void ConvertLabToRGB (const double L, const double a, const double b, double *red, double *green, double *blue)
static void ConvertxyYToRGB (const double low_x, const double low_y, const double cap_Y, double *red, double *green, double *blue)
static void ConvertYPbPrToRGB (const double Y, const double Pb, const double Pr, double *red, double *green, double *blue)
static void ConvertYCbCrToRGB (const double Y, const double Cb, const double Cr, double *red, double *green, double *blue)
static void ConvertYIQToRGB (const double Y, const double I, const double Q, double *red, double *green, double *blue)
static void ConvertYDbDrToRGB (const double Y, const double Db, const double Dr, double *red, double *green, double *blue)
static void ConvertYUVToRGB (const double Y, const double U, const double V, double *red, double *green, double *blue)

Define Documentation

#define DisplayGamma   (1.0/1.7)
#define FilmGamma   0.6
#define Jzazbz_b   1.15
#define Jzazbz_c1   (3424.0/4096.0)
#define Jzazbz_c2   (2413.0/128.0)
#define Jzazbz_c3   (2392.0/128.0)
#define Jzazbz_d   (-0.56)
#define Jzazbz_d0   (1.6295499532821566e-11)
#define Jzazbz_g   0.66
#define Jzazbz_n   (2610.0/16384.0)
#define Jzazbz_p   (1.7*2523.0/32.0)
#define ReferenceBlack   95.0
#define ReferenceWhite   685.0
#define sRGBTransformImageTag   "RGBTransform/Image"

Referenced by sRGBTransformImage().

#define TransformsRGBImageTag   "Transform/Image"

Referenced by TransformsRGBImage().


Typedef Documentation


Function Documentation

static void ConvertCMYToRGB ( const double  cyan,
const double  magenta,
const double  yellow,
double *  red,
double *  green,
double *  blue 
) [inline, static]

References QuantumRange.

Referenced by TransformsRGBImage().

static void ConvertJzazbzToRGB ( const double  Jz,
const double  az,
const double  bz,
const double  white_luminance,
double *  red,
double *  green,
double *  blue 
) [static]
static void ConvertJzazbzToXYZ ( const double  Jz,
const double  az,
const double  bz,
const double  white_luminance,
double *  X,
double *  Y,
double *  Z 
) [inline, static]
static void ConvertLabToRGB ( const double  L,
const double  a,
const double  b,
double *  red,
double *  green,
double *  blue 
) [inline, static]

References ConvertLabToXYZ(), and ConvertXYZToRGB().

Referenced by TransformsRGBImage().

static void ConvertLMSToRGB ( const double  L,
const double  M,
const double  S,
double *  red,
double *  green,
double *  blue 
) [inline, static]

References ConvertLMSToXYZ(), and ConvertXYZToRGB().

Referenced by TransformsRGBImage().

static void ConvertLMSToXYZ ( const double  L,
const double  M,
const double  S,
double *  X,
double *  Y,
double *  Z 
) [inline, static]

Referenced by ConvertLMSToRGB().

static void ConvertLuvToRGB ( const double  L,
const double  u,
const double  v,
double *  red,
double *  green,
double *  blue 
) [inline, static]

References ConvertLuvToXYZ(), and ConvertXYZToRGB().

Referenced by TransformsRGBImage().

static void ConvertRGBToCMY ( const double  red,
const double  green,
const double  blue,
double *  cyan,
double *  magenta,
double *  yellow 
) [inline, static]

References QuantumRange, and QuantumScale.

Referenced by sRGBTransformImage().

static void ConvertRGBToJzazbz ( const double  red,
const double  green,
const double  blue,
const double  white_luminance,
double *  Jz,
double *  az,
double *  bz 
) [static]
static void ConvertRGBToLMS ( const double  red,
const double  green,
const double  blue,
double *  L,
double *  M,
double *  S 
) [static]

References ConvertRGBToXYZ(), and ConvertXYZToLMS().

Referenced by sRGBTransformImage().

static void ConvertRGBToLuv ( const double  red,
const double  green,
const double  blue,
double *  L,
double *  u,
double *  v 
) [static]

References ConvertRGBToXYZ(), and ConvertXYZToLuv().

Referenced by sRGBTransformImage().

static void ConvertRGBToxyY ( const double  red,
const double  green,
const double  blue,
double *  low_x,
double *  low_y,
double *  cap_Y 
) [static]
static void ConvertRGBToYCbCr ( const double  red,
const double  green,
const double  blue,
double *  Y,
double *  Cb,
double *  Cr 
) [static]

References ConvertRGBToYPbPr().

Referenced by sRGBTransformImage().

static void ConvertRGBToYDbDr ( const double  red,
const double  green,
const double  blue,
double *  Y,
double *  Db,
double *  Dr 
) [static]

References QuantumScale.

Referenced by sRGBTransformImage().

static void ConvertRGBToYIQ ( const double  red,
const double  green,
const double  blue,
double *  Y,
double *  I,
double *  Q 
) [static]

References QuantumScale.

Referenced by sRGBTransformImage().

static void ConvertRGBToYPbPr ( const double  red,
const double  green,
const double  blue,
double *  Y,
double *  Pb,
double *  Pr 
) [static]

References QuantumScale.

Referenced by ConvertRGBToYCbCr(), and sRGBTransformImage().

static void ConvertRGBToYUV ( const double  red,
const double  green,
const double  blue,
double *  Y,
double *  U,
double *  V 
) [static]

References QuantumScale.

Referenced by sRGBTransformImage().

static void ConvertxyYToRGB ( const double  low_x,
const double  low_y,
const double  cap_Y,
double *  red,
double *  green,
double *  blue 
) [inline, static]
static void ConvertXYZToJzazbz ( const double  X,
const double  Y,
const double  Z,
const double  white_luminance,
double *  Jz,
double *  az,
double *  bz 
) [inline, static]
static void ConvertXYZToLMS ( const double  x,
const double  y,
const double  z,
double *  L,
double *  M,
double *  S 
) [inline, static]

Referenced by ConvertRGBToLMS().

static void ConvertYCbCrToRGB ( const double  Y,
const double  Cb,
const double  Cr,
double *  red,
double *  green,
double *  blue 
) [static]

References ConvertYPbPrToRGB().

Referenced by TransformsRGBImage().

static void ConvertYDbDrToRGB ( const double  Y,
const double  Db,
const double  Dr,
double *  red,
double *  green,
double *  blue 
) [static]

References QuantumRange.

Referenced by TransformsRGBImage().

static void ConvertYIQToRGB ( const double  Y,
const double  I,
const double  Q,
double *  red,
double *  green,
double *  blue 
) [static]

References QuantumRange.

Referenced by TransformsRGBImage().

static void ConvertYPbPrToRGB ( const double  Y,
const double  Pb,
const double  Pr,
double *  red,
double *  green,
double *  blue 
) [static]

References QuantumRange.

Referenced by ConvertYCbCrToRGB(), and TransformsRGBImage().

static void ConvertYUVToRGB ( const double  Y,
const double  U,
const double  V,
double *  red,
double *  green,
double *  blue 
) [static]

References QuantumRange.

Referenced by TransformsRGBImage().

MagickExport ColorspaceType GetImageColorspaceType ( const Image image,
ExceptionInfo exception 
)
static ssize_t RoundToYCC ( const double  value  )  [inline, static]

Referenced by TransformsRGBImage().

MagickExport MagickBooleanType SetImageColorspace ( Image image,
const ColorspaceType  colorspace,
ExceptionInfo exception 
)
MagickExport MagickBooleanType SetImageGray ( Image image,
ExceptionInfo exception 
)
MagickExport MagickBooleanType SetImageMonochrome ( Image image,
ExceptionInfo exception 
)
static MagickBooleanType sRGBTransformImage ( Image image,
const ColorspaceType  colorspace,
ExceptionInfo exception 
) [static]

References AcquireAuthenticCacheView(), AcquireQuantumMemory(), _Image::alpha_trait, _PixelInfo::blue, ClampToQuantum(), CMYColorspace, CMYKColorspace, _Image::colormap, _Image::colors, ColorSeparationAlphaType, ColorSeparationType, _Image::columns, ConvertRGBToCMY(), ConvertRGBToCMYK(), ConvertRGBToHCL(), ConvertRGBToHCLp(), ConvertRGBToHSB(), ConvertRGBToHSI(), ConvertRGBToHSL(), ConvertRGBToHSV(), ConvertRGBToHWB(), ConvertRGBToJzazbz(), ConvertRGBToLab(), ConvertRGBToLCHab(), ConvertRGBToLCHuv(), ConvertRGBToLMS(), ConvertRGBToLuv(), ConvertRGBToxyY(), ConvertRGBToXYZ(), ConvertRGBToYCbCr(), ConvertRGBToYDbDr(), ConvertRGBToYIQ(), ConvertRGBToYPbPr(), ConvertRGBToYUV(), _Image::debug, DecodePixelGamma(), DestroyCacheView(), DirectClass, DisplayGamma, _Image::filename, FilmGamma, GetCacheViewAuthenticPixels(), GetImageProperty(), GetMagickModule, GetPixelBlue(), GetPixelChannels(), GetPixelGreen(), GetPixelInfo(), GetPixelInfoPixel(), GetPixelRed(), GRAYColorspace, GrayscaleType, _PixelInfo::green, HCLColorspace, HCLpColorspace, HSBColorspace, HSIColorspace, HSLColorspace, HSVColorspace, HWBColorspace, JzazbzColorspace, LabColorspace, LCHabColorspace, LCHColorspace, LCHuvColorspace, LinearGRAYColorspace, LMSColorspace, LogColorspace, LogMagickEvent(), LuvColorspace, magick_restrict, MagickCoreSignature, MagickFalse, MagickTrue, MaxMap, OHTAColorspace, PerceptibleReciprocal(), _Image::progress_monitor, PseudoClass, QuantumRange, QuantumScale, Rec601YCbCrColorspace, Rec709YCbCrColorspace, _PixelInfo::red, ReferenceBlack, ReferenceWhite, RelinquishMagickMemory(), ResourceLimitError, RGBColorspace, _Image::rows, ScaleCharToQuantum(), ScaleMapToQuantum(), ScaleQuantumToMap(), scRGBColorspace, SetImageColorspace(), SetImageProgress(), SetImageStorageClass(), SetPixelBlue(), SetPixelGray(), SetPixelGreen(), SetPixelRed(), SetPixelViaPixelInfo(), _Image::signature, sRGBColorspace, sRGBTransformImageTag, _Image::storage_class, StringToDouble(), SyncCacheViewAuthenticPixels(), SyncImage(), ThrowBinaryException, TraceEvent, TransparentColorspace, _Image::type, UndefinedColorspace, UndefinedPixelTrait, _PrimaryInfo::x, _TransformPacket::x, xyYColorspace, XYZColorspace, _TransformPacket::y, _PrimaryInfo::y, YCbCrColorspace, YCCColorspace, YDbDrColorspace, YIQColorspace, YPbPrColorspace, YUVColorspace, _TransformPacket::z, and _PrimaryInfo::z.

Referenced by TransformImageColorspace().

MagickExport MagickBooleanType TransformImageColorspace ( Image image,
const ColorspaceType  colorspace,
ExceptionInfo exception 
)
static MagickBooleanType TransformsRGBImage ( Image image,
ExceptionInfo exception 
) [static]

References AcquireAuthenticCacheView(), AcquireQuantumMemory(), _PixelInfo::blue, ClampToQuantum(), CMYColorspace, CMYKColorspace, _Image::colormap, _Image::colors, _Image::colorspace, _Image::columns, ConvertCMYKToRGB(), ConvertCMYToRGB(), ConvertHCLpToRGB(), ConvertHCLToRGB(), ConvertHSBToRGB(), ConvertHSIToRGB(), ConvertHSLToRGB(), ConvertHSVToRGB(), ConvertHWBToRGB(), ConvertJzazbzToRGB(), ConvertLabToRGB(), ConvertLCHabToRGB(), ConvertLCHuvToRGB(), ConvertLMSToRGB(), ConvertLuvToRGB(), ConvertxyYToRGB(), ConvertXYZToRGB(), ConvertYCbCrToRGB(), ConvertYDbDrToRGB(), ConvertYIQToRGB(), ConvertYPbPrToRGB(), ConvertYUVToRGB(), _Image::debug, DestroyCacheView(), DirectClass, DisplayGamma, EncodePixelGamma(), _Image::filename, FilmGamma, GetCacheViewAuthenticPixels(), GetImageProperty(), GetMagickModule, GetPixelBlue(), GetPixelChannels(), GetPixelGreen(), GetPixelInfo(), GetPixelInfoPixel(), GetPixelRed(), GRAYColorspace, _PixelInfo::green, HCLColorspace, HCLpColorspace, HSBColorspace, HSIColorspace, HSLColorspace, HSVColorspace, HWBColorspace, JzazbzColorspace, LabColorspace, LCHabColorspace, LCHColorspace, LCHuvColorspace, LinearGRAYColorspace, LMSColorspace, LogColorspace, LogMagickEvent(), LuvColorspace, magick_restrict, MagickCoreSignature, MagickFalse, MagickTrue, MaxMap, OHTAColorspace, PerceptibleReciprocal(), _Image::progress_monitor, PseudoClass, QuantumRange, QuantumScale, Rec601YCbCrColorspace, Rec709YCbCrColorspace, _PixelInfo::red, ReferenceBlack, ReferenceWhite, RelinquishMagickMemory(), ResourceLimitError, RGBColorspace, RoundToYCC(), _Image::rows, ScaleCharToQuantum(), ScaleMapToQuantum(), ScaleQuantumToMap(), scRGBColorspace, SetImageColorspace(), SetImageProgress(), SetImageStorageClass(), SetPixelBlue(), SetPixelGreen(), SetPixelRed(), SetPixelViaPixelInfo(), _Image::signature, sRGBColorspace, _Image::storage_class, StringToDouble(), SyncCacheViewAuthenticPixels(), SyncImage(), ThrowBinaryException, TraceEvent, TransformsRGBImageTag, _TransformPacket::x, xyYColorspace, XYZColorspace, _TransformPacket::y, YCbCrColorspace, YCCColorspace, YDbDrColorspace, YIQColorspace, YPbPrColorspace, YUVColorspace, and _TransformPacket::z.

Referenced by TransformImageColorspace().


Generated on 17 Mar 2020 for MagickCore by  doxygen 1.6.1