MagickCore
6.9.11-59
Convert, Edit, Or Compose Bitmap Images
|
Go to the documentation of this file.
18 #ifndef MAGICKCORE_QUANTUM_H
19 #define MAGICKCORE_QUANTUM_H
25 #if defined(__cplusplus) || defined(c_plusplus)
29 #define RoundToQuantum(quantum) ClampToQuantum(quantum)
90 #if defined(MAGICKCORE_HDRI_SUPPORT)
101 #if (MAGICKCORE_QUANTUM_DEPTH == 8)
102 static inline unsigned char ScaleQuantumToChar(
const Quantum quantum)
104 #if !defined(MAGICKCORE_HDRI_SUPPORT)
105 return((
unsigned char)
quantum);
111 return((
unsigned char) (
quantum+0.5));
114 #elif (MAGICKCORE_QUANTUM_DEPTH == 16)
115 static inline unsigned char ScaleQuantumToChar(
const Quantum quantum)
117 #if !defined(MAGICKCORE_HDRI_SUPPORT)
118 return((
unsigned char) (((
quantum+128UL)-((
quantum+128UL) >> 8)) >> 8));
124 return((
unsigned char) (
quantum/257.0+0.5));
127 #elif (MAGICKCORE_QUANTUM_DEPTH == 32)
128 static inline unsigned char ScaleQuantumToChar(
const Quantum quantum)
130 #if !defined(MAGICKCORE_HDRI_SUPPORT)
136 if ((
quantum/16843009.0) >= 255.0)
138 return((
unsigned char) (
quantum/16843009.0+0.5));
141 #elif (MAGICKCORE_QUANTUM_DEPTH == 64)
142 static inline unsigned char ScaleQuantumToChar(
const Quantum quantum)
144 #if !defined(MAGICKCORE_HDRI_SUPPORT)
145 return((
unsigned char) (
quantum/72340172838076673.0+0.5));
149 if ((
quantum/72340172838076673.0) >= 255.0)
151 return((
unsigned char) (
quantum/72340172838076673.0+0.5));
194 #if defined(__cplusplus) || defined(c_plusplus)
ColorspaceType colorspace
Definition: image.h:158
@ DisassociatedQuantumAlpha
Definition: quantum.h:42
MagickExport QuantumInfo * DestroyQuantumInfo(QuantumInfo *quantum_info)
Definition: quantum.c:214
#define MagickExport
Definition: method-attribute.h:80
MagickBooleanType debug
Definition: image.h:290
MagickExport void SetQuantumImageType(Image *, const QuantumType)
char filename[MaxTextExtent]
Definition: image.h:278
MagickExport void GetQuantumInfo(const ImageInfo *image_info, QuantumInfo *quantum_info)
Definition: quantum.c:419
MagickBooleanType matte
Definition: image.h:171
@ IndexAlphaQuantum
Definition: quantum.h:65
size_t extent
Definition: quantum-private.h:76
@ ColorSeparationType
Definition: image.h:59
MagickExport MemoryInfo * AcquireVirtualMemory(const size_t count, const size_t quantum)
Definition: memory.c:705
MagickExport QuantumType GetQuantumType(Image *, ExceptionInfo *)
Definition: quantum.c:522
#define GetMagickModule()
Definition: log.h:29
size_t number_threads
Definition: quantum-private.h:70
@ RedQuantum
Definition: quantum.h:69
MagickExport MagickBooleanType SetQuantumFormat(const Image *, QuantumInfo *, const QuantumFormatType)
QuantumAlphaType
Definition: quantum.h:39
#define MagickCoreSignature
Definition: method-attribute.h:86
MagickExport size_t ImportQuantumPixels(Image *, CacheView *, const QuantumInfo *, const QuantumType, const unsigned char *magick_restrict, ExceptionInfo *)
size_t depth
Definition: image.h:176
@ RGBPadQuantum
Definition: quantum.h:76
MagickExport QuantumInfo * DestroyQuantumInfo(QuantumInfo *)
Definition: quantum.c:214
size_t pad
Definition: quantum-private.h:60
#define magick_restrict
Definition: MagickCore.h:41
static MagickBooleanType AcquireQuantumPixels(QuantumInfo *quantum_info, const size_t extent)
Definition: quantum.c:157
MagickExport QuantumType GetQuantumType(Image *image, ExceptionInfo *exception)
Definition: quantum.c:522
EndianType endian
Definition: image.h:390
MagickExport MagickBooleanType SetQuantumDepth(const Image *, QuantumInfo *, const size_t)
MagickExport void SetQuantumMinIsWhite(QuantumInfo *, const MagickBooleanType)
size_t columns
Definition: image.h:174
#define QuantumSignature
Definition: quantum.c:77
@ GrayQuantum
Definition: quantum.h:63
@ AlphaQuantum
Definition: quantum.h:56
@ BGROQuantum
Definition: quantum.h:82
@ BGRQuantum
Definition: quantum.h:81
ImageType type
Definition: image.h:334
size_t signature
Definition: quantum-private.h:88
Definition: cache-view.c:66
MagickExport MagickBooleanType SetQuantumPad(const Image *image, QuantumInfo *quantum_info, const size_t pad)
Definition: quantum.c:908
@ GreenQuantum
Definition: quantum.h:64
MagickExport size_t ExportQuantumPixels(const Image *, const CacheView *, const QuantumInfo *, const QuantumType, unsigned char *magick_restrict, ExceptionInfo *)
@ YellowQuantum
Definition: quantum.h:74
@ TrueColorType
Definition: image.h:57
@ CMYKQuantum
Definition: quantum.h:60
@ UndefinedQuantum
Definition: quantum.h:55
@ MagickTrue
Definition: magick-type.h:205
#define IsNaN(a)
Definition: magick-type.h:225
@ RGBAQuantum
Definition: quantum.h:70
MagickExport MagickBooleanType SetQuantumDepth(const Image *image, QuantumInfo *quantum_info, const size_t depth)
Definition: quantum.c:661
static Quantum ClampToQuantum(const MagickRealType quantum)
Definition: quantum.h:88
EndianType
Definition: quantum.h:32
@ CbYCrYQuantum
Definition: quantum.h:77
QuantumFormatType format
Definition: quantum-private.h:52
Definition: quantum-private.h:46
@ TraceEvent
Definition: log.h:38
MagickExport void * AcquireMagickMemory(const size_t size)
Definition: memory.c:552
MagickExport MagickBooleanType SetQuantumEndian(const Image *image, QuantumInfo *quantum_info, const EndianType endian)
Definition: quantum.c:728
@ FloatingPointQuantumFormat
Definition: quantum.h:48
Definition: semaphore.c:61
EndianType endian
Definition: image.h:229
@ CyanQuantum
Definition: quantum.h:61
@ UnsignedQuantumFormat
Definition: quantum.h:50
#define MagickMax(x, y)
Definition: image-private.h:36
@ CbYCrAQuantum
Definition: quantum.h:79
MagickExport int LocaleCompare(const char *p, const char *q)
Definition: locale.c:1435
MagickExport void SetQuantumImageType(Image *image, const QuantumType quantum_type)
Definition: quantum.c:807
@ AssociatedQuantumAlpha
Definition: quantum.h:41
MagickExport void SetQuantumScale(QuantumInfo *, const double)
Definition: quantum.c:1011
@ PaletteType
Definition: image.h:55
MagickExport void SetQuantumAlphaType(QuantumInfo *quantum_info, const QuantumAlphaType type)
Definition: quantum.c:626
double maximum
Definition: quantum-private.h:56
@ MagentaQuantum
Definition: quantum.h:67
#define MagickPrivate
Definition: method-attribute.h:81
@ BilevelType
Definition: image.h:52
MagickExport void SetQuantumScale(QuantumInfo *quantum_info, const double scale)
Definition: quantum.c:1011
@ MagickFalse
Definition: magick-type.h:204
@ BlueQuantum
Definition: quantum.h:58
MagickBooleanType min_is_white
Definition: quantum-private.h:63
const unsigned int * mask
Definition: quantum-private.h:42
MemoryInfo ** pixels
Definition: quantum-private.h:73
MagickExport SemaphoreInfo * AllocateSemaphoreInfo(void)
Definition: semaphore.c:192
MagickPrivate void ResetQuantumState(QuantumInfo *quantum_info)
Definition: quantum.c:578
@ BGRAQuantum
Definition: quantum.h:71
@ SignedQuantumFormat
Definition: quantum.h:49
MagickExport void GetQuantumInfo(const ImageInfo *, QuantumInfo *)
@ CMYKAQuantum
Definition: quantum.h:59
#define QuantumRange
Definition: magick-type.h:90
@ CMYKColorspace
Definition: colorspace.h:39
MagickExport QuantumFormatType GetQuantumFormat(const QuantumInfo *quantum_info)
Definition: quantum.c:388
QuantumState state
Definition: quantum-private.h:82
size_t rows
Definition: image.h:175
size_t bits
Definition: quantum-private.h:39
MagickExport unsigned char * GetQuantumPixels(const QuantumInfo *)
Definition: quantum.c:490
MagickExport void DestroySemaphoreInfo(SemaphoreInfo **semaphore_info)
Definition: semaphore.c:351
QuantumType
Definition: quantum.h:54
static void DestroyQuantumPixels(QuantumInfo *)
Definition: quantum.c:249
MagickExport size_t GetQuantumExtent(const Image *, const QuantumInfo *, const QuantumType)
MagickExport void * GetVirtualMemoryBlob(const MemoryInfo *memory_info)
Definition: memory.c:1090
MagickExport MemoryInfo * RelinquishVirtualMemory(MemoryInfo *memory_info)
Definition: memory.c:1229
SemaphoreInfo * semaphore
Definition: quantum-private.h:85
size_t signature
Definition: image.h:307
MagickBooleanType
Definition: magick-type.h:203
static double StringToDouble(const char *magick_restrict string, char **magick_restrict sentinal)
Definition: string-private.h:82
@ CMYKOQuantum
Definition: quantum.h:80
MagickExport MagickBooleanType SetQuantumEndian(const Image *, QuantumInfo *, const EndianType)
MagickExport EndianType GetQuantumEndian(const QuantumInfo *)
Definition: quantum.c:359
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1162
MagickExport void SetQuantumPack(QuantumInfo *, const MagickBooleanType)
@ LSBEndian
Definition: quantum.h:34
@ UndefinedEndian
Definition: quantum.h:33
MagickExport QuantumFormatType GetQuantumFormat(const QuantumInfo *)
Definition: quantum.c:388
Definition: exception.h:103
ClassType storage_class
Definition: image.h:155
@ GrayAlphaQuantum
Definition: quantum.h:62
MagickExport ssize_t ParseCommandOption(const CommandOption option, const MagickBooleanType list, const char *options)
Definition: option.c:2586
MagickDoubleType MagickRealType
Definition: magick-type.h:129
MagickExport MagickBooleanType SetQuantumPad(const Image *, QuantumInfo *, const size_t)
Definition: quantum.c:908
MagickExport unsigned char * GetQuantumPixels(const QuantumInfo *quantum_info)
Definition: quantum.c:490
EndianType endian
Definition: quantum-private.h:79
@ GrayscaleType
Definition: image.h:53
@ UndefinedQuantumAlpha
Definition: quantum.h:40
MagickExport void SetQuantumMinIsWhite(QuantumInfo *quantum_info, const MagickBooleanType min_is_white)
Definition: quantum.c:946
@ PseudoClass
Definition: magick-type.h:199
MagickExport const char * GetImageOption(const ImageInfo *image_info, const char *key)
Definition: option.c:1949
@ ThreadResource
Definition: resource_.h:33
@ BlackQuantum
Definition: quantum.h:57
@ MSBEndian
Definition: quantum.h:35
MagickExport void SetQuantumQuantum(QuantumInfo *, const size_t)
MagickExport QuantumInfo * AcquireQuantumInfo(const ImageInfo *image_info, Image *image)
Definition: quantum.c:109
QuantumAlphaType alpha_type
Definition: quantum-private.h:67
@ RGBOQuantum
Definition: quantum.h:72
@ RGBQuantum
Definition: quantum.h:73
#define MagickEpsilon
Definition: magick-type.h:119
#define ThrowFatalException(severity, tag)
Definition: exception-private.h:42
QuantumFormatType
Definition: quantum.h:46
@ UndefinedQuantumFormat
Definition: quantum.h:47
MagickExport EndianType GetQuantumEndian(const QuantumInfo *quantum_info)
Definition: quantum.c:359
#define MagickULLConstant(c)
Definition: magick-type.h:39
size_t quantum
Definition: quantum-private.h:49
unsigned int pixel
Definition: quantum-private.h:36
@ MagickQuantumFormatOptions
Definition: option.h:85
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
Definition: log.c:1420
size_t depth
Definition: quantum-private.h:48
MagickExport void SetQuantumQuantum(QuantumInfo *quantum_info, const size_t quantum)
Definition: quantum.c:979
MagickExport MagickBooleanType SetQuantumFormat(const Image *image, QuantumInfo *quantum_info, const QuantumFormatType format)
Definition: quantum.c:768
double minimum
Definition: quantum-private.h:55
MagickExport void SetQuantumAlphaType(QuantumInfo *, const QuantumAlphaType)
MagickExport QuantumInfo * AcquireQuantumInfo(const ImageInfo *, Image *)
MagickExport size_t GetQuantumExtent(const Image *image, const QuantumInfo *quantum_info, const QuantumType quantum_type)
Definition: quantum.c:307
double inverse_scale
Definition: quantum-private.h:33
@ CbYCrQuantum
Definition: quantum.h:78
double scale
Definition: quantum-private.h:57
@ ResourceLimitFatalError
Definition: exception.h:78
#define MagickMin(x, y)
Definition: image-private.h:37
@ IndexQuantum
Definition: quantum.h:66
@ GrayPadQuantum
Definition: quantum.h:75
@ OpacityQuantum
Definition: quantum.h:68
MagickExport MagickSizeType GetMagickResourceLimit(const ResourceType type)
Definition: resource.c:842
static MagickBooleanType IsGrayColorspace(const ColorspaceType colorspace)
Definition: colorspace-private.h:96
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:665
unsigned short Quantum
Definition: magick-type.h:89
static int GetOpenMPThreadId(void)
Definition: thread-private.h:120
MagickBooleanType pack
Definition: quantum-private.h:64
MagickExport void SetQuantumPack(QuantumInfo *quantum_info, const MagickBooleanType pack)
Definition: quantum.c:873