MagickCore
7.0.9
Convert, Edit, Or Compose Bitmap Images
|
#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 |
Macros | |
#define | Jzazbz_b 1.15 /* https://observablehq.com/@jrus/jzazbz */ |
#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 | 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 | 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 DisplayGamma (1.0/1.7) |
Referenced by sRGBTransformImage(), and TransformsRGBImage().
#define FilmGamma 0.6 |
Referenced by sRGBTransformImage(), and TransformsRGBImage().
#define Jzazbz_b 1.15 /* https://observablehq.com/@jrus/jzazbz */ |
Referenced by ConvertJzazbzToXYZ(), and ConvertXYZToJzazbz().
#define Jzazbz_c1 (3424.0/4096.0) |
Referenced by ConvertJzazbzToXYZ(), and ConvertXYZToJzazbz().
#define Jzazbz_c2 (2413.0/128.0) |
Referenced by ConvertJzazbzToXYZ(), and ConvertXYZToJzazbz().
#define Jzazbz_c3 (2392.0/128.0) |
Referenced by ConvertJzazbzToXYZ(), and ConvertXYZToJzazbz().
#define Jzazbz_d (-0.56) |
Referenced by ConvertJzazbzToXYZ(), and ConvertXYZToJzazbz().
#define Jzazbz_d0 (1.6295499532821566e-11) |
Referenced by ConvertJzazbzToXYZ(), and ConvertXYZToJzazbz().
#define Jzazbz_g 0.66 |
Referenced by ConvertJzazbzToXYZ(), and ConvertXYZToJzazbz().
#define Jzazbz_n (2610.0/16384.0) |
Referenced by ConvertJzazbzToXYZ(), and ConvertXYZToJzazbz().
#define Jzazbz_p (1.7*2523.0/32.0) |
Referenced by ConvertJzazbzToXYZ(), and ConvertXYZToJzazbz().
#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 |
|
inlinestatic |
References QuantumRange.
Referenced by TransformsRGBImage().
|
static |
References ConvertJzazbzToXYZ(), and ConvertXYZToRGB().
Referenced by TransformsRGBImage().
|
inlinestatic |
|
inlinestatic |
References ConvertLabToXYZ(), and ConvertXYZToRGB().
Referenced by TransformsRGBImage().
|
inlinestatic |
References ConvertLMSToXYZ(), and ConvertXYZToRGB().
Referenced by TransformsRGBImage().
|
inlinestatic |
Referenced by ConvertLMSToRGB().
|
inlinestatic |
References ConvertLuvToXYZ(), and ConvertXYZToRGB().
Referenced by TransformsRGBImage().
|
inlinestatic |
References QuantumRange, and QuantumScale.
Referenced by sRGBTransformImage().
|
static |
References ConvertRGBToXYZ(), and ConvertXYZToJzazbz().
Referenced by sRGBTransformImage().
|
static |
References ConvertRGBToXYZ(), and ConvertXYZToLab().
Referenced by sRGBTransformImage().
|
static |
References ConvertRGBToXYZ(), and ConvertXYZToLMS().
Referenced by sRGBTransformImage().
|
static |
References ConvertRGBToXYZ(), and ConvertXYZToLuv().
Referenced by sRGBTransformImage().
|
static |
References ConvertRGBToXYZ(), and PerceptibleReciprocal().
Referenced by sRGBTransformImage().
|
static |
References ConvertRGBToYPbPr().
Referenced by sRGBTransformImage().
|
static |
References QuantumScale.
Referenced by sRGBTransformImage().
|
static |
References QuantumScale.
Referenced by sRGBTransformImage().
|
static |
References QuantumScale.
Referenced by ConvertRGBToYCbCr(), and sRGBTransformImage().
|
static |
References QuantumScale.
Referenced by sRGBTransformImage().
|
inlinestatic |
References ConvertXYZToRGB(), and PerceptibleReciprocal().
Referenced by TransformsRGBImage().
|
inlinestatic |
|
inlinestatic |
Referenced by ConvertRGBToLMS().
|
static |
References ConvertYPbPrToRGB().
Referenced by TransformsRGBImage().
|
static |
References QuantumRange.
Referenced by TransformsRGBImage().
|
static |
References QuantumRange.
Referenced by TransformsRGBImage().
|
static |
References QuantumRange.
Referenced by ConvertYCbCrToRGB(), and TransformsRGBImage().
|
static |
References QuantumRange.
Referenced by TransformsRGBImage().
MagickExport ColorspaceType GetImageColorspaceType | ( | const Image * | image, |
ExceptionInfo * | exception | ||
) |
|
inlinestatic |
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 |
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, 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, _TransformPacket::x, _PrimaryInfo::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(), RangeThresholdImage(), SegmentImage(), SelectiveBlurImage(), SetGrayscaleImage(), SetImageType(), TextureImage(), VignetteImage(), and WhiteThresholdImage().
|
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, 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().