#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 | 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 | ConvertRGBToLab (const double red, const double green, const double blue, double *L, double *a, double *b) |
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 | 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 DisplayGamma (1.0/1.7) |
Referenced by sRGBTransformImage(), and TransformsRGBImage().
#define FilmGamma 0.6 |
Referenced by sRGBTransformImage(), and TransformsRGBImage().
#define ReferenceBlack 95.0 |
Referenced by sRGBTransformImage(), and TransformsRGBImage().
#define ReferenceWhite 685.0 |
Referenced by sRGBTransformImage(), and TransformsRGBImage().
#define sRGBTransformImageTag "RGBTransform/Image" |
Referenced by sRGBTransformImage().
#define TransformsRGBImageTag "Transform/Image" |
Referenced by TransformsRGBImage().
typedef struct _TransformPacket TransformPacket |
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 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 ConvertRGBToLab | ( | const double | red, | |
const double | green, | |||
const double | blue, | |||
double * | L, | |||
double * | a, | |||
double * | b | |||
) | [static] |
References ConvertRGBToXYZ(), and ConvertXYZToLab().
Referenced by sRGBTransformImage().
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] |
References ConvertRGBToXYZ(), and PerceptibleReciprocal().
Referenced by sRGBTransformImage().
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] |
References ConvertXYZToRGB(), and PerceptibleReciprocal().
Referenced by TransformsRGBImage().
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 | |||
) |
References _ChromaticityInfo::blue_primary, _Image::chromaticity, _Image::colorspace, _Image::debug, _Image::filename, _Image::gamma, GetMagickModule, GrayscaleType, _ChromaticityInfo::green_primary, IsGrayColorspace(), IsRGBColorspace(), LinearGRAYColorspace, LogMagickEvent(), MagickCoreSignature, MagickFalse, MagickTrue, PerceptualIntent, _ChromaticityInfo::red_primary, _Image::rendering_intent, _ExceptionInfo::signature, _Image::signature, TraceEvent, _Image::type, UndefinedIntent, _ChromaticityInfo::white_point, _PrimaryInfo::x, xyYColorspace, XYZColorspace, _PrimaryInfo::y, and _PrimaryInfo::z.
Referenced by AnnotateImage(), AppendImages(), BilevelImage(), BlackThresholdImage(), ChannelFxImage(), ClutImage(), ColorizeImage(), CombineImages(), CompositeImage(), ConsolidateCMYKImages(), ContrastStretchImage(), DistortImage(), DrawPrimitive(), FloodfillPaintImage(), FrameImage(), GetImageMask(), GrayscaleImage(), ImportImagePixels(), LevelImageColors(), MagnifyImage(), ModulateImage(), ProfileImage(), SeparateImage(), SetImageProperty(), SetPixelCacheVirtualMethod(), ShadowImage(), SolarizeImage(), SpliceImage(), sRGBTransformImage(), StereoAnaglyphImage(), TintImage(), TransformImageColorspace(), and TransformsRGBImage().
MagickExport MagickBooleanType SetImageGray | ( | Image * | image, | |
ExceptionInfo * | exception | |||
) |
References _Image::colorspace, _Image::debug, _Image::filename, GetImageProperty(), GetMagickModule, GRAYColorspace, IdentifyImageGray(), IsImageGray(), IssRGBCompatibleColorspace(), IsStringFalse(), LogMagickEvent(), MagickCoreSignature, MagickFalse, MagickTrue, _Image::signature, SyncImagePixelCache(), TraceEvent, _Image::type, and UndefinedType.
Referenced by ContrastStretchImage(), GetMagickPropertyLetter(), and QuantizeImage().
MagickExport MagickBooleanType SetImageMonochrome | ( | Image * | image, | |
ExceptionInfo * | exception | |||
) |
References BilevelType, _Image::colorspace, _Image::debug, _Image::filename, GetImageProperty(), GetMagickModule, GRAYColorspace, IdentifyImageMonochrome(), IssRGBCompatibleColorspace(), IsStringFalse(), LogMagickEvent(), MagickCoreSignature, MagickFalse, MagickTrue, _Image::signature, SyncImagePixelCache(), TraceEvent, and _Image::type.
Referenced by SetGrayscaleImage().
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(), 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(), GetPixelIntensity(), GetPixelRed(), GRAYColorspace, GrayscaleType, _PixelInfo::green, HCLColorspace, HCLpColorspace, HSBColorspace, HSIColorspace, HSLColorspace, HSVColorspace, HWBColorspace, _Image::intensity, LabColorspace, LCHabColorspace, LCHColorspace, LCHuvColorspace, LinearGRAYColorspace, LMSColorspace, LogColorspace, LogMagickEvent(), LuvColorspace, magick_restrict, MagickCoreSignature, MagickFalse, MagickTrue, MaxMap, OHTAColorspace, PerceptibleReciprocal(), _Image::progress_monitor, PseudoClass, QuantumRange, QuantumScale, Rec601LuminancePixelIntensityMethod, Rec601YCbCrColorspace, Rec709LuminancePixelIntensityMethod, 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 | |||
) |
References _Image::colorspace, _Image::debug, DeleteImageProfile(), _Image::filename, GetMagickModule, IssRGBColorspace(), LogMagickEvent(), MagickCoreSignature, MagickFalse, MagickTrue, SetImageColorspace(), _Image::signature, sRGBTransformImage(), TraceEvent, TransformsRGBImage(), and UndefinedColorspace.
Referenced by AssignImageColors(), CannyEdgeImage(), CLAHEImage(), ClassifyImageColors(), ConformPixelInfo(), GetImagePerceptualHash(), QuantizeImage(), RangeThresholdImage(), SegmentImage(), SelectiveBlurImage(), SetGrayscaleImage(), SetImageType(), TextureImage(), VignetteImage(), and WhiteThresholdImage().
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(), 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(), GetPixelGray(), GetPixelGreen(), GetPixelInfo(), GetPixelInfoPixel(), GetPixelRed(), GRAYColorspace, _PixelInfo::green, HCLColorspace, HCLpColorspace, HSBColorspace, HSIColorspace, HSLColorspace, HSVColorspace, HWBColorspace, _Image::intensity, LabColorspace, LCHabColorspace, LCHColorspace, LCHuvColorspace, LinearGRAYColorspace, LMSColorspace, LogColorspace, LogMagickEvent(), LuvColorspace, magick_restrict, MagickCoreSignature, MagickFalse, MagickTrue, MaxMap, OHTAColorspace, PerceptibleReciprocal(), _Image::progress_monitor, PseudoClass, QuantumRange, QuantumScale, Rec601LuminancePixelIntensityMethod, Rec601YCbCrColorspace, Rec709LuminancePixelIntensityMethod, 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().