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