MagickCore  6.9.12-43
Convert, Edit, Or Compose Bitmap Images
gem.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization
3  dedicated to making software imaging solutions freely available.
4 
5  You may not use this file except in compliance with the License. You may
6  obtain a copy of the License at
7 
8  https://imagemagick.org/script/license.php
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 
16  MagickCore private graphic gems methods.
17 */
18 #ifndef MAGICKCORE_GEM_H
19 #define MAGICKCORE_GEM_H
20 
21 #include "magick/random_.h"
22 #include "magick/visual-effects.h"
23 
24 #if defined(__cplusplus) || defined(c_plusplus)
25 extern "C" {
26 #endif
27 
28 extern MagickExport double
29  ExpandAffine(const AffineMatrix *),
31  const MagickRealType);
32 
33 extern MagickExport size_t
34  GetOptimalKernelWidth(const double,const double),
35  GetOptimalKernelWidth1D(const double,const double),
36  GetOptimalKernelWidth2D(const double,const double);
37 
38 extern MagickExport void
39  ConvertHCLToRGB(const double,const double,const double,Quantum *,Quantum *,
40  Quantum *),
41  ConvertHCLpToRGB(const double,const double,const double,Quantum *,Quantum *,
42  Quantum *),
43  ConvertHSBToRGB(const double,const double,const double,Quantum *,Quantum *,
44  Quantum *),
45  ConvertHSIToRGB(const double,const double,const double,Quantum *,Quantum *,
46  Quantum *),
47  ConvertHSLToRGB(const double,const double,const double,Quantum *,Quantum *,
48  Quantum *),
49  ConvertHSVToRGB(const double,const double,const double,Quantum *,Quantum *,
50  Quantum *),
51  ConvertHWBToRGB(const double,const double,const double,Quantum *,Quantum *,
52  Quantum *),
53  ConvertLCHabToRGB(const double,const double,const double,Quantum *,Quantum *,
54  Quantum *),
55  ConvertLCHuvToRGB(const double,const double,const double,Quantum *,Quantum *,
56  Quantum *),
57  ConvertRGBToHCL(const Quantum,const Quantum,const Quantum,double *,double *,
58  double *),
59  ConvertRGBToHCLp(const Quantum,const Quantum,const Quantum,double *,double *,
60  double *),
61  ConvertRGBToHSB(const Quantum,const Quantum,const Quantum,double *,double *,
62  double *),
63  ConvertRGBToHSI(const Quantum,const Quantum,const Quantum,double *,double *,
64  double *),
65  ConvertRGBToHSL(const Quantum,const Quantum,const Quantum,double *,double *,
66  double *),
67  ConvertRGBToHSV(const Quantum,const Quantum,const Quantum,double *,double *,
68  double *),
69  ConvertRGBToHWB(const Quantum,const Quantum,const Quantum,double *,double *,
70  double *),
71  ConvertRGBToLCHab(const Quantum,const Quantum,const Quantum,double *,double *,
72  double *),
73  ConvertRGBToLCHuv(const Quantum,const Quantum,const Quantum,double *,double *,
74  double *);
75 
76 #if defined(__cplusplus) || defined(c_plusplus)
77 }
78 #endif
79 
80 #endif
MagickExport void ConvertHWBToRGB(const double hue, const double whiteness, const double blackness, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:677
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
Definition: geometry.h:95
MagickExport size_t GetOptimalKernelWidth2D(const double radius, const double sigma)
Definition: gem.c:1663
NoiseType
Definition: visual-effects.h:27
Definition: random.c:80
MagickExport size_t GetOptimalKernelWidth(const double radius, const double sigma)
Definition: gem.c:1704
MagickExport void ConvertRGBToHSL(const Quantum red, const Quantum green, const Quantum blue, double *hue, double *saturation, double *lightness)
Definition: gem.c:1127
MagickExport double ExpandAffine(const AffineMatrix *affine)
Definition: gem.c:1451
MagickExport void ConvertRGBToHWB(const Quantum red, const Quantum green, const Quantum blue, double *hue, double *whiteness, double *blackness)
Definition: gem.c:1268
MagickExport size_t GetOptimalKernelWidth1D(const double radius, const double sigma)
Definition: gem.c:1622
MagickExport void ConvertRGBToLCHab(const Quantum red, const Quantum green, const Quantum blue, double *luma, double *chroma, double *hue)
Definition: gem.c:1345
MagickExport void ConvertHSVToRGB(const double hue, const double saturation, const double value, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:570
MagickExport void ConvertRGBToHSB(const Quantum red, const Quantum green, const Quantum blue, double *hue, double *saturation, double *brightness)
Definition: gem.c:994
MagickExport void ConvertRGBToHSV(const Quantum red, const Quantum green, const Quantum blue, double *hue, double *saturation, double *value)
Definition: gem.c:1199
MagickExport void ConvertHSBToRGB(const double hue, const double saturation, const double brightness, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:284
MagickExport void ConvertHSIToRGB(const double hue, const double saturation, const double intensity, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:387
MagickExport void ConvertHSLToRGB(const double hue, const double saturation, const double lightness, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:460
MagickExport void ConvertHCLpToRGB(const double hue, const double chroma, const double luma, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:179
MagickExport void ConvertRGBToLCHuv(const Quantum red, const Quantum green, const Quantum blue, double *luma, double *chroma, double *hue)
Definition: gem.c:1406
unsigned short Quantum
Definition: magick-type.h:85
MagickExport void ConvertLCHabToRGB(const double luma, const double chroma, const double hue, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:761
MagickExport void ConvertRGBToHSI(const Quantum red, const Quantum green, const Quantum blue, double *hue, double *saturation, double *intensity)
Definition: gem.c:1070
MagickExport void ConvertRGBToHCL(const Quantum red, const Quantum green, const Quantum blue, double *hue, double *chroma, double *luma)
Definition: gem.c:860
MagickExport double GenerateDifferentialNoise(RandomInfo *random_info, const Quantum pixel, const NoiseType noise_type, const MagickRealType attenuate)
Definition: gem.c:1487
MagickExport void ConvertLCHuvToRGB(const double luma, const double chroma, const double hue, Quantum *red, Quantum *green, Quantum *blue)
Definition: gem.c:814
#define MagickExport
Definition: method-attribute.h:80
MagickExport void ConvertRGBToHCLp(const Quantum red, const Quantum green, const Quantum blue, double *hue, double *chroma, double *luma)
Definition: gem.c:927