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   MagickWand image Methods.
17 */
18 
19 #ifndef MAGICKWAND_MAGICK_IMAGE_H
20 #define MAGICKWAND_MAGICK_IMAGE_H
21 
22 #if defined(__cplusplus) || defined(c_plusplus)
23 extern "C" {
24 #endif
25 
26 extern WandExport ChannelFeatures
27   *MagickGetImageFeatures(MagickWand *,const size_t);
28 
29 extern WandExport ChannelType
30    MagickSetImageChannelMask(MagickWand *,const ChannelType);
31 
32 extern WandExport ChannelStatistics
33   *MagickGetImageStatistics(MagickWand *);
34 
35 extern WandExport char
36   *MagickGetImageFilename(MagickWand *),
37   *MagickGetImageFormat(MagickWand *),
38   *MagickGetImageSignature(MagickWand *),
39   *MagickIdentifyImage(MagickWand *);
40 
41 extern WandExport ColorspaceType
42   MagickGetImageColorspace(MagickWand *);
43 
44 extern WandExport CompositeOperator
45   MagickGetImageCompose(MagickWand *);
46 
47 extern WandExport CompressionType
48   MagickGetImageCompression(MagickWand *);
49 
50 extern WandExport DisposeType
51   MagickGetImageDispose(MagickWand *);
52 
53 extern WandExport double
54   *MagickGetImageDistortions(MagickWand *,const MagickWand *,
55     const MetricType),
56   MagickGetImageFuzz(MagickWand *),
57   MagickGetImageGamma(MagickWand *),
58   MagickGetImageTotalInkDensity(MagickWand *);
59 
60 extern WandExport EndianType
61   MagickGetImageEndian(MagickWand *);
62 
63 extern WandExport GravityType
64   MagickGetImageGravity(MagickWand *);
65 
66 extern WandExport Image
67   *MagickDestroyImage(Image *),
68   *GetImageFromMagickWand(const MagickWand *);
69 
70 extern WandExport ImageType
71   MagickGetImageType(MagickWand *),
72   MagickIdentifyImageType(MagickWand *);
73 
74 extern WandExport InterlaceType
75   MagickGetImageInterlaceScheme(MagickWand *);
76 
77 extern WandExport PixelInterpolateMethod
78   MagickGetImageInterpolateMethod(MagickWand *);
79 
80 extern WandExport MagickBooleanType
81   MagickAdaptiveBlurImage(MagickWand *,const double,const double),
82   MagickAdaptiveResizeImage(MagickWand *,const size_t,const size_t),
83   MagickAdaptiveSharpenImage(MagickWand *,const double,const double),
84   MagickAdaptiveThresholdImage(MagickWand *,const size_t,const size_t,
85     const double),
86   MagickAddImage(MagickWand *,const MagickWand *),
87   MagickAddNoiseImage(MagickWand *,const NoiseType,const double),
88   MagickAffineTransformImage(MagickWand *,const DrawingWand *),
89   MagickAnnotateImage(MagickWand *,const DrawingWand *,const double,
90     const double,const double,const char *),
91   MagickAnimateImages(MagickWand *,const char *),
92   MagickAutoGammaImage(MagickWand *),
93   MagickAutoLevelImage(MagickWand *),
94   MagickAutoOrientImage(MagickWand *),
95   MagickAutoThresholdImage(MagickWand *,const AutoThresholdMethod),
96   MagickBilateralImage(MagickWand *,const double,const double,const double,
97     const double),
98   MagickBlackThresholdImage(MagickWand *,const PixelWand *),
99   MagickBlueShiftImage(MagickWand *,const double),
100   MagickBlurImage(MagickWand *,const double,const double),
101   MagickBorderImage(MagickWand *,const PixelWand *,const size_t,const size_t,
102     const CompositeOperator compose),
103   MagickBrightnessContrastImage(MagickWand *,const double,const double),
104   MagickCannyEdgeImage(MagickWand *,const double,const double,const double,
105     const double),
106   MagickCharcoalImage(MagickWand *,const double,const double),
107   MagickChopImage(MagickWand *,const size_t,const size_t,const ssize_t,
108     const ssize_t),
109   MagickCLAHEImage(MagickWand *,const size_t,const size_t,const double,
110     const double),
111   MagickClampImage(MagickWand *),
112   MagickClipImage(MagickWand *),
113   MagickClipImagePath(MagickWand *,const char *,const MagickBooleanType),
114   MagickClutImage(MagickWand *,const MagickWand *,const PixelInterpolateMethod),
115   MagickColorDecisionListImage(MagickWand *,const char *),
116   MagickColorizeImage(MagickWand *,const PixelWand *,const PixelWand *),
117   MagickColorMatrixImage(MagickWand *,const KernelInfo *),
118   MagickColorThresholdImage(MagickWand *,const PixelWand *,const PixelWand *),
119   MagickCommentImage(MagickWand *,const char *),
120   MagickCompositeImage(MagickWand *,const MagickWand *,const CompositeOperator,
121     const MagickBooleanType,const ssize_t,const ssize_t),
122   MagickCompositeImageGravity(MagickWand *,const MagickWand *,
123     const CompositeOperator,const GravityType),
124   MagickCompositeLayers(MagickWand *,const MagickWand *,const CompositeOperator,
125     const ssize_t,const ssize_t),
126   MagickConnectedComponentsImage(MagickWand *,const size_t,CCObjectInfo **),
127   MagickConstituteImage(MagickWand *,const size_t,const size_t,const char *,
128     const StorageType,const void *),
129   MagickContrastImage(MagickWand *,const MagickBooleanType),
130   MagickContrastStretchImage(MagickWand *,const double,const double),
131   MagickConvolveImage(MagickWand *,const KernelInfo *),
132   MagickCropImage(MagickWand *,const size_t,const size_t,const ssize_t,
133     const ssize_t),
134   MagickCycleColormapImage(MagickWand *,const ssize_t),
135   MagickDecipherImage(MagickWand *,const char *),
136   MagickDeskewImage(MagickWand *,const double),
137   MagickDespeckleImage(MagickWand *),
138   MagickDisplayImage(MagickWand *,const char *),
139   MagickDisplayImages(MagickWand *,const char *),
140   MagickDistortImage(MagickWand *,const DistortMethod,const size_t,
141     const double *,const MagickBooleanType),
142   MagickDrawImage(MagickWand *,const DrawingWand *),
143   MagickEdgeImage(MagickWand *,const double),
144   MagickEmbossImage(MagickWand *,const double,const double),
145   MagickEncipherImage(MagickWand *,const char *),
146   MagickEnhanceImage(MagickWand *),
147   MagickEqualizeImage(MagickWand *),
148   MagickEvaluateImage(MagickWand *,const MagickEvaluateOperator,const double),
149   MagickExportImagePixels(MagickWand *,const ssize_t,const ssize_t,
150     const size_t,const size_t,const char *,const StorageType,void *),
151   MagickExtentImage(MagickWand *,const size_t,const size_t,const ssize_t,
152     const ssize_t),
153   MagickFlipImage(MagickWand *),
154   MagickFloodfillPaintImage(MagickWand *,const PixelWand *,const double,
155     const PixelWand *,const ssize_t,const ssize_t,const MagickBooleanType),
156   MagickFlopImage(MagickWand *),
157   MagickForwardFourierTransformImage(MagickWand *,const MagickBooleanType),
158   MagickFrameImage(MagickWand *,const PixelWand *,const size_t,const size_t,
159     const ssize_t,const ssize_t,const CompositeOperator),
160   MagickFunctionImage(MagickWand *,const MagickFunction,const size_t,
161     const double *),
162   MagickGammaImage(MagickWand *,const double),
163   MagickGaussianBlurImage(MagickWand *,const double,const double),
164   MagickGetImageAlphaChannel(MagickWand *),
165   MagickGetImageBackgroundColor(MagickWand *,PixelWand *),
166   MagickGetImageBluePrimary(MagickWand *,double *,double *,double *),
167   MagickGetImageBorderColor(MagickWand *,PixelWand *),
168   MagickGetImageKurtosis(MagickWand *,double *,double *),
169   MagickGetImageMean(MagickWand *,double *,double *),
170   MagickGetImageRange(MagickWand *,double *,double *),
171   MagickGetImageColormapColor(MagickWand *,const size_t,PixelWand *),
172   MagickGetImageDistortion(MagickWand *,const MagickWand *,const MetricType,
173     double *),
174   MagickGetImageGreenPrimary(MagickWand *,double *,double *,double *),
175   MagickGetImageLength(MagickWand *,MagickSizeType *),
176   MagickGetImageMatteColor(MagickWand *,PixelWand *),
177   MagickGetImagePage(MagickWand *,size_t *,size_t *,ssize_t *,
178     ssize_t *),
179   MagickGetImagePixelColor(MagickWand *,const ssize_t,const ssize_t,
180     PixelWand *),
181   MagickGetImageRange(MagickWand *,double *,double *),
182   MagickGetImageRedPrimary(MagickWand *,double *,double *,double *),
183   MagickGetImageResolution(MagickWand *,double *,double *),
184   MagickGetImageWhitePoint(MagickWand *,double *,double *,double *),
185   MagickHaldClutImage(MagickWand *,const MagickWand *),
186   MagickHasNextImage(MagickWand *),
187   MagickHasPreviousImage(MagickWand *),
188   MagickHoughLineImage(MagickWand *,const size_t,const size_t,const size_t),
189   MagickImplodeImage(MagickWand *,const double,const PixelInterpolateMethod),
190   MagickImportImagePixels(MagickWand *,const ssize_t,const ssize_t,const size_t,
191     const size_t,const char *,const StorageType,const void *),
192   MagickInterpolativeResizeImage(MagickWand *,const size_t,const size_t,
193     const PixelInterpolateMethod),
194   MagickInverseFourierTransformImage(MagickWand *,MagickWand *,
195     const MagickBooleanType),
196   MagickKmeansImage(MagickWand *, const size_t, const size_t, const double),
197   MagickKuwaharaImage(MagickWand *,const double,const double),
198   MagickLabelImage(MagickWand *,const char *),
199   MagickLevelImage(MagickWand *,const double,const double,const double),
200   MagickLevelImageColors(MagickWand *,const PixelWand *,const PixelWand *,
201     const MagickBooleanType),
202   MagickLevelizeImage(MagickWand *,const double,const double,const double),
203   MagickLinearStretchImage(MagickWand *,const double,const double),
204   MagickLiquidRescaleImage(MagickWand *,const size_t,const size_t,const double,
205     const double),
206   MagickLocalContrastImage(MagickWand *,const double,const double),
207   MagickMagnifyImage(MagickWand *),
208   MagickMeanShiftImage(MagickWand *,const size_t,const size_t,const double),
209   MagickMinifyImage(MagickWand *),
210   MagickModeImage(MagickWand *,const double),
211   MagickModulateImage(MagickWand *,const double,const double,const double),
212   MagickMorphologyImage(MagickWand *,const MorphologyMethod,const ssize_t,
213     const KernelInfo *),
214   MagickMotionBlurImage(MagickWand *,const double,const double,const double),
215   MagickNegateImage(MagickWand *,const MagickBooleanType),
216   MagickNewImage(MagickWand *,const size_t,const size_t,const PixelWand *),
217   MagickNextImage(MagickWand *),
218   MagickNormalizeImage(MagickWand *),
219   MagickOilPaintImage(MagickWand *,const double,const double),
220   MagickOpaquePaintImage(MagickWand *,const PixelWand *,const PixelWand *,
221     const double,const MagickBooleanType),
222   MagickOptimizeImageTransparency(MagickWand *),
223   MagickOrderedDitherImage(MagickWand *,const char *),
224   MagickPolynomialImage(MagickWand *,const size_t,const double *),
225   MagickTransparentPaintImage(MagickWand *,const PixelWand *,
226     const double,const double,const MagickBooleanType invert),
227   MagickPingImage(MagickWand *,const char *),
228   MagickPingImageBlob(MagickWand *,const void *,const size_t),
229   MagickPingImageFile(MagickWand *,FILE *),
230   MagickPolaroidImage(MagickWand *,const DrawingWand *,const char *,
231     const double,const PixelInterpolateMethod),
232   MagickPosterizeImage(MagickWand *,const size_t,const DitherMethod),
233   MagickPreviousImage(MagickWand *),
234   MagickQuantizeImage(MagickWand *,const size_t,const ColorspaceType,
235     const size_t,const DitherMethod,const MagickBooleanType),
236   MagickQuantizeImages(MagickWand *,const size_t,const ColorspaceType,
237     const size_t,const DitherMethod,const MagickBooleanType),
238   MagickRangeThresholdImage(MagickWand *,const double,const double,
239     const double,const double),
240   MagickRotationalBlurImage(MagickWand *,const double),
241   MagickRaiseImage(MagickWand *,const size_t,const size_t,const ssize_t,
242     const ssize_t,const MagickBooleanType),
243   MagickRandomThresholdImage(MagickWand *,const double,const double),
244   MagickReadImage(MagickWand *,const char *),
245   MagickReadImageBlob(MagickWand *,const void *,const size_t),
246   MagickReadImageFile(MagickWand *,FILE *),
247   MagickReduceNoiseImage(MagickWand *,const double),
248   MagickRemapImage(MagickWand *,const MagickWand *,const DitherMethod),
249   MagickRemoveImage(MagickWand *),
250   MagickResampleImage(MagickWand *,const double,const double,const FilterType),
251   MagickResetImagePage(MagickWand *,const char *),
252   MagickResizeImage(MagickWand *,const size_t,const size_t,const FilterType),
253   MagickRollImage(MagickWand *,const ssize_t,const ssize_t),
254   MagickRotateImage(MagickWand *,const PixelWand *,const double),
255   MagickSampleImage(MagickWand *,const size_t,const size_t),
256   MagickScaleImage(MagickWand *,const size_t,const size_t),
257   MagickSegmentImage(MagickWand *,const ColorspaceType,const MagickBooleanType,
258     const double,const double),
259   MagickSelectiveBlurImage(MagickWand *,const double,const double,
260     const double),
261   MagickSeparateImage(MagickWand *,const ChannelType),
262   MagickSepiaToneImage(MagickWand *,const double),
263   MagickSetImage(MagickWand *,const MagickWand *),
264   MagickSetImageAlpha(MagickWand *,const double),
265   MagickSetImageAlphaChannel(MagickWand *,const AlphaChannelOption),
266   MagickSetImageBackgroundColor(MagickWand *,const PixelWand *),
267   MagickSetImageBluePrimary(MagickWand *,const double,const double,
268     const double),
269   MagickSetImageBorderColor(MagickWand *,const PixelWand *),
270   MagickSetImageColor(MagickWand *,const PixelWand *),
271   MagickSetImageColormapColor(MagickWand *,const size_t,
272     const PixelWand *),
273   MagickSetImageColorspace(MagickWand *,const ColorspaceType),
274   MagickSetImageCompose(MagickWand *,const CompositeOperator),
275   MagickSetImageCompression(MagickWand *,const CompressionType),
276   MagickSetImageDelay(MagickWand *,const size_t),
277   MagickSetImageDepth(MagickWand *,const size_t),
278   MagickSetImageDispose(MagickWand *,const DisposeType),
279   MagickSetImageCompressionQuality(MagickWand *,const size_t),
280   MagickSetImageEndian(MagickWand *,const EndianType),
281   MagickSetImageExtent(MagickWand *,const size_t,const size_t),
282   MagickSetImageFilename(MagickWand *,const char *),
283   MagickSetImageFormat(MagickWand *,const char *),
284   MagickSetImageFuzz(MagickWand *,const double),
285   MagickSetImageGamma(MagickWand *,const double),
286   MagickSetImageGravity(MagickWand *,const GravityType),
287   MagickSetImageGreenPrimary(MagickWand *,const double,const double,
288     const double),
289   MagickSetImageInterlaceScheme(MagickWand *,const InterlaceType),
290   MagickSetImageInterpolateMethod(MagickWand *,const PixelInterpolateMethod),
291   MagickSetImageIterations(MagickWand *,const size_t),
292   MagickSetImageMatte(MagickWand *,const MagickBooleanType),
293   MagickSetImageMatteColor(MagickWand *,const PixelWand *),
294   MagickSetImageOrientation(MagickWand *,const OrientationType),
295   MagickSetImagePage(MagickWand *,const size_t,const size_t,const ssize_t,
296     const ssize_t),
297   MagickSetImagePixelColor(MagickWand *,const ssize_t,const ssize_t,
298     const PixelWand *),
299   MagickSetImageRedPrimary(MagickWand *,const double,const double,
300     const double),
301   MagickSetImageRenderingIntent(MagickWand *,const RenderingIntent),
302   MagickSetImageResolution(MagickWand *,const double,const double),
303   MagickSetImageScene(MagickWand *,const size_t),
304   MagickSetImageTicksPerSecond(MagickWand *,const ssize_t),
305   MagickSetImageType(MagickWand *,const ImageType),
306   MagickSetImageUnits(MagickWand *,const ResolutionType),
307   MagickSetImageWhitePoint(MagickWand *,const double,const double,
308     const double),
309   MagickShadeImage(MagickWand *,const MagickBooleanType,const double,
310     const double),
311   MagickShadowImage(MagickWand *,const double,const double,const ssize_t,
312     const ssize_t),
313   MagickSharpenImage(MagickWand *,const double,const double),
314   MagickShaveImage(MagickWand *,const size_t,const size_t),
315   MagickShearImage(MagickWand *,const PixelWand *,const double,const double),
316   MagickSigmoidalContrastImage(MagickWand *,const MagickBooleanType,
317     const double,const double),
318   MagickSketchImage(MagickWand *,const double,const double,const double),
319   MagickSolarizeImage(MagickWand *,const double),
320   MagickSparseColorImage(MagickWand *,const SparseColorMethod,const size_t,
321     const double *),
322   MagickSpliceImage(MagickWand *,const size_t,const size_t,const ssize_t,
323     const ssize_t),
324   MagickSpreadImage(MagickWand *,const PixelInterpolateMethod,const double),
325   MagickStatisticImage(MagickWand *,const StatisticType,const size_t,
326     const size_t),
327   MagickStripImage(MagickWand *),
328   MagickSwirlImage(MagickWand *,const double,const PixelInterpolateMethod),
329   MagickTintImage(MagickWand *,const PixelWand *,const PixelWand *),
330   MagickTransformImageColorspace(MagickWand *,const ColorspaceType),
331   MagickTransposeImage(MagickWand *),
332   MagickTransverseImage(MagickWand *),
333   MagickThresholdImage(MagickWand *,const double),
334   MagickThresholdImageChannel(MagickWand *,const ChannelType,const double),
335   MagickThumbnailImage(MagickWand *,const size_t,const size_t),
336   MagickTrimImage(MagickWand *,const double),
337   MagickUniqueImageColors(MagickWand *),
338   MagickUnsharpMaskImage(MagickWand *,const double,const double,const double,
339     const double),
340   MagickVignetteImage(MagickWand *,const double,const double,const ssize_t,
341     const ssize_t),
342   MagickWaveImage(MagickWand *,const double,const double,
343     const PixelInterpolateMethod),
344   MagickWaveletDenoiseImage(MagickWand *,const double,const double),
345   MagickWhiteBalanceImage(MagickWand *),
346   MagickWhiteThresholdImage(MagickWand *,const PixelWand *),
347   MagickWriteImage(MagickWand *,const char *),
348   MagickWriteImageFile(MagickWand *,FILE *),
349   MagickWriteImages(MagickWand *,const char *,const MagickBooleanType),
350   MagickWriteImagesFile(MagickWand *,FILE *);
351 
352 extern WandExport MagickProgressMonitor
353   MagickSetImageProgressMonitor(MagickWand *,const MagickProgressMonitor,
354     void *);
355 
356 extern WandExport MagickWand
357   *MagickAppendImages(MagickWand *,const MagickBooleanType),
358   *MagickChannelFxImage(MagickWand *,const char *),
359   *MagickCoalesceImages(MagickWand *),
360   *MagickCombineImages(MagickWand *,const ColorspaceType),
361   *MagickCompareImages(MagickWand *,const MagickWand *,const MetricType,
362     double *),
363   *MagickCompareImagesLayers(MagickWand *,const LayerMethod),
364   *MagickComplexImages(MagickWand *,const ComplexOperator),
365   *MagickDeconstructImages(MagickWand *),
366   *MagickEvaluateImages(MagickWand *,const MagickEvaluateOperator),
367   *MagickFxImage(MagickWand *,const char *),
368   *MagickGetImage(MagickWand *),
369   *MagickGetImageMask(MagickWand *,const PixelMask),
370   *MagickGetImageRegion(MagickWand *,const size_t,const size_t,const ssize_t,
371     const ssize_t),
372   *MagickMergeImageLayers(MagickWand *,const LayerMethod),
373   *MagickMorphImages(MagickWand *,const size_t),
374   *MagickMontageImage(MagickWand *,const DrawingWand *,const char *,
375     const char *,const MontageMode,const char *),
376   *MagickOptimizeImageLayers(MagickWand *),
377   *MagickPreviewImages(MagickWand *wand,const PreviewType),
378   *MagickSimilarityImage(MagickWand *,const MagickWand *,const MetricType,
379     const double,RectangleInfo *,double *),
380   *MagickSmushImages(MagickWand *,const MagickBooleanType,const ssize_t),
381   *MagickSteganoImage(MagickWand *,const MagickWand *,const ssize_t),
382   *MagickStereoImage(MagickWand *,const MagickWand *),
383   *MagickTextureImage(MagickWand *,const MagickWand *);
384 
385 extern WandExport OrientationType
386   MagickGetImageOrientation(MagickWand *);
387 
388 extern WandExport PixelWand
389   **MagickGetImageHistogram(MagickWand *,size_t *);
390 
391 extern WandExport RenderingIntent
392   MagickGetImageRenderingIntent(MagickWand *);
393 
394 extern WandExport ResolutionType
395   MagickGetImageUnits(MagickWand *);
396 
397 extern WandExport size_t
398   MagickGetImageColors(MagickWand *),
399   MagickGetImageCompressionQuality(MagickWand *),
400   MagickGetImageDelay(MagickWand *),
401   MagickGetImageDepth(MagickWand *),
402   MagickGetImageHeight(MagickWand *),
403   MagickGetImageIterations(MagickWand *),
404   MagickGetImageScene(MagickWand *),
405   MagickGetImageTicksPerSecond(MagickWand *),
406   MagickGetImageWidth(MagickWand *),
407   MagickGetNumberImages(MagickWand *);
408 
409 extern WandExport unsigned char
410   *MagickGetImageBlob(MagickWand *,size_t *),
411   *MagickGetImagesBlob(MagickWand *,size_t *);
412 
413 extern WandExport VirtualPixelMethod
414   MagickGetImageVirtualPixelMethod(MagickWand *),
415   MagickSetImageVirtualPixelMethod(MagickWand *,const VirtualPixelMethod);
416 
417 #if defined(__cplusplus) || defined(c_plusplus)
418 }
419 #endif
420 
421 #endif
422