You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1249 lines
52 KiB
Python

4 months ago
""":mod:`wand.cdefs.magick_image` --- Magick-Image definitions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. versionadded:: 0.5.0
"""
from ctypes import (CFUNCTYPE, POINTER, c_bool, c_char_p, c_double, c_int,
c_size_t, c_ubyte, c_void_p)
from wand.cdefs.wandtypes import c_ssize_t
__all__ = ('MagickProgressMonitor', 'load')
#: (:class:`ctypes.CFUNCTYPE`) a function type to allow ImageMagick's progress
#: monitoring to call a python function. For example::
#:
#: def myCallBack(filename, offset, size, user_data):
#: print(filename, offset, '/', size)
#: return True
#: iMyCallBack = MagickProgressMonitor(myCallBack)
#: library.MagickSetImageProgressMonitor(wand_instance,
#: iMyCallBack,
#: None)
#:
#: .. note::
#:
#: TODO - Move to isolated module. This shouldn't be defined at time of
#: mload. It might be wiser to create a method to allow the user to ask for
#: C-function-type.
MagickProgressMonitor = CFUNCTYPE(c_bool,
c_char_p,
c_ssize_t,
c_size_t,
c_void_p)
def load(lib, IM_VERSION):
"""Define Magick Image methods. The ImageMagick version is given as a
second argument for comparison. This will quick to determine which methods
are available from the library, and can be implemented as::
if IM_VERSION < 0x700:
# ... do ImageMagick-6 methods ...
else
# ... do ImageMagick-7 methods ...
.. seealso::
#include "wand/magick-image.h"
// Or
#include "MagickWand/magick-image.h"
:param lib: the loaded ``MagickWand`` library
:type lib: :class:`ctypes.CDLL`
:param IM_VERSION: the ImageMagick version number (i.e. 0x0689)
:type IM_VERSION: :class:`numbers.Integral`
.. versionadded:: 0.5.0
"""
is_im_6 = IM_VERSION < 0x700
is_im_7 = IM_VERSION >= 0x700
lib.GetImageFromMagickWand.argtypes = [c_void_p]
lib.GetImageFromMagickWand.restype = c_void_p
lib.MagickAdaptiveBlurImage.argtypes = [c_void_p, c_double, c_double]
lib.MagickAdaptiveBlurImage.restype = c_bool
if is_im_6:
lib.MagickAdaptiveBlurImageChannel.argtypes = [
c_void_p, c_int, c_double, c_double
]
lib.MagickAdaptiveBlurImageChannel.restype = c_bool
lib.MagickAdaptiveResizeImage.argtypes = [c_void_p, c_size_t, c_size_t]
lib.MagickAdaptiveResizeImage.restype = c_bool
lib.MagickAdaptiveSharpenImage.argtypes = [c_void_p, c_double, c_double]
lib.MagickAdaptiveSharpenImage.restype = c_bool
if is_im_6:
lib.MagickAdaptiveSharpenImageChannel.argtypes = [
c_void_p, c_int, c_double, c_double
]
lib.MagickAdaptiveSharpenImageChannel.restype = c_bool
if is_im_6:
lib.MagickAdaptiveThresholdImage.argtypes = [
c_void_p, c_size_t, c_size_t, c_ssize_t
]
lib.MagickAdaptiveThresholdImage.restype = c_bool
else:
lib.MagickAdaptiveThresholdImage.argtypes = [
c_void_p, c_size_t, c_size_t, c_double
]
lib.MagickAdaptiveThresholdImage.restype = c_bool
lib.MagickAddImage.argtypes = [c_void_p, c_void_p]
lib.MagickAddImage.restype = c_bool
if is_im_6:
lib.MagickAddNoiseImage.argtypes = [c_void_p, c_int]
lib.MagickAddNoiseImage.restype = c_bool
else:
lib.MagickAddNoiseImage.argtypes = [c_void_p, c_int, c_double]
lib.MagickAddNoiseImage.restype = c_bool
if is_im_6:
lib.MagickAddNoiseImageChannel.argtypes = [c_void_p, c_int, c_int]
lib.MagickAddNoiseImageChannel.restype = c_bool
lib.MagickAffineTransformImage.argtypes = [c_void_p, c_void_p]
lib.MagickAffineTransformImage.restype = c_bool
lib.MagickAnnotateImage.argtypes = [
c_void_p, c_void_p, c_double, c_double, c_double, c_char_p
]
lib.MagickAnnotateImage.restype = c_int
lib.MagickAnimateImages.argtypes = [c_void_p, c_char_p]
lib.MagickAnimateImages.restype = c_bool
lib.MagickAppendImages.argtypes = [c_void_p, c_int]
lib.MagickAppendImages.restype = c_void_p
lib.MagickAutoGammaImage.argtypes = [c_void_p]
lib.MagickAutoGammaImage.restype = c_bool
if is_im_6:
lib.MagickAutoGammaImageChannel.argtypes = [c_void_p, c_int]
lib.MagickAutoGammaImageChannel.restype = c_bool
lib.MagickAutoLevelImage.argtypes = [c_void_p]
lib.MagickAutoLevelImage.restype = c_bool
if is_im_6:
lib.MagickAutoLevelImageChannel.argtypes = [c_void_p, c_int]
lib.MagickAutoLevelImageChannel.restype = c_bool
try:
lib.MagickAutoOrientImage.argtypes = [c_void_p]
except AttributeError:
# MagickAutoOrientImage was added in 6.8.9+, we have a fallback
# function, so we pass silently if we cannot import it.
pass
if IM_VERSION >= 0x708:
try:
lib.MagickAutoThresholdImage.argtypes = [c_void_p, c_int]
lib.MagickAutoThresholdImage.restype = c_bool
except AttributeError:
lib.MagickAutoThresholdImage = None
else:
lib.MagickAutoThresholdImage = None
lib.MagickBlackThresholdImage.argtypes = [c_void_p, c_void_p]
lib.MagickBlackThresholdImage.restype = c_bool
lib.MagickBlueShiftImage.argtypes = [c_void_p, c_double]
lib.MagickBlueShiftImage.restype = c_bool
lib.MagickBlurImage.argtypes = [c_void_p, c_double, c_double]
lib.MagickBlurImage.restype = c_bool
if is_im_6:
lib.MagickBlurImageChannel.argtypes = [c_void_p, c_int, c_double,
c_double]
lib.MagickBlurImageChannel.restype = c_bool
border_image_args = [c_void_p, c_void_p, c_size_t, c_size_t]
if is_im_7:
border_image_args.append(c_int)
lib.MagickBorderImage.argtypes = border_image_args
lib.MagickBorderImage.restype = c_bool
lib.MagickBrightnessContrastImage.argtypes = [c_void_p, c_double, c_double]
lib.MagickBrightnessContrastImage.restype = c_bool
if is_im_6:
lib.MagickBrightnessContrastImageChannel.argtypes = [
c_void_p, c_int, c_double, c_double
]
lib.MagickBrightnessContrastImageChannel.restype = c_bool
if IM_VERSION >= 0x708:
try:
lib.MagickCannyEdgeImage.argtypes = [c_void_p, c_double, c_double,
c_double, c_double]
lib.MagickCannyEdgeImage.restype = c_bool
except AttributeError:
lib.MagickCannyEdgeImage = None
else:
lib.MagickCannyEdgeImage = None
lib.MagickCharcoalImage.argtypes = [c_void_p, c_double, c_double]
lib.MagickCharcoalImage.restype = c_bool
lib.MagickChopImage.argtypes = [
c_void_p, c_size_t, c_size_t, c_ssize_t, c_ssize_t
]
lib.MagickChopImage.restype = c_bool
if is_im_7:
try:
lib.MagickCLAHEImage.argtypes = [c_void_p, c_size_t, c_size_t,
c_double, c_double]
lib.MagickCLAHEImage.restype = c_bool
except AttributeError:
lib.MagickCLAHEImage = None
else:
lib.MagickCLAHEImage = None
lib.MagickClampImage.argtypes = [c_void_p]
lib.MagickClampImage.restype = c_bool
if is_im_6:
lib.MagickClampImageChannel.argtypes = [c_void_p, c_int]
lib.MagickClampImageChannel.restype = c_bool
lib.MagickClipImage.argtypes = [c_void_p]
lib.MagickClipImage.restype = c_bool
lib.MagickClipImagePath.argtypes = [c_void_p, c_char_p, c_bool]
lib.MagickClipImagePath.restype = c_bool
if is_im_7:
lib.MagickClutImage.argtypes = [c_void_p, c_void_p, c_int]
lib.MagickClutImage.restype = c_bool
else:
lib.MagickClutImage.argtypes = [c_void_p, c_void_p]
lib.MagickClutImage.restype = c_bool
if is_im_6:
lib.MagickClutImageChannel.argtypes = [c_void_p, c_int, c_void_p]
lib.MagickClutImageChannel.restype = c_bool
lib.MagickCoalesceImages.argtypes = [c_void_p]
lib.MagickCoalesceImages.restype = c_void_p
lib.MagickColorDecisionListImage.argtypes = [c_void_p, c_char_p]
lib.MagickColorDecisionListImage.restype = c_bool
lib.MagickColorizeImage.argtypes = [c_void_p, c_void_p, c_void_p]
lib.MagickColorizeImage.restype = c_bool
lib.MagickColorMatrixImage.argtypes = [c_void_p, c_void_p]
lib.MagickColorMatrixImage.restype = c_bool
if IM_VERSION > 0x709:
lib.MagickColorThresholdImage.argtypes = [c_void_p, c_void_p, c_void_p]
lib.MagickColorThresholdImage.restype = c_bool
else:
lib.MagickColorThresholdImage = None
lib.MagickCommentImage.argtypes = [c_void_p, c_char_p]
lib.MagickCommentImage.restype = c_bool
lib.MagickCombineImages.argtypes = [c_void_p, c_int]
lib.MagickCombineImages.restype = c_void_p
if is_im_6:
lib.MagickCompareImageChannels.argtypes = [
c_void_p, c_void_p, c_int, c_double
]
lib.MagickCompareImageChannels.restype = c_void_p
lib.MagickCompareImageLayers.argtypes = [c_void_p, c_int]
lib.MagickCompareImageLayers.restype = c_void_p
lib.MagickCompareImages.argtypes = [
c_void_p, c_void_p, c_int, POINTER(c_double)
]
lib.MagickCompareImages.restype = c_void_p
if is_im_6:
try:
lib.MagickCompareImageLayers.argtypes = [c_void_p, c_int]
lib.MagickCompareImageLayers.restype = c_void_p
except AttributeError:
lib.MagickCompareImageLayers = None
else:
try:
lib.MagickCompareImagesLayers.argtypes = [c_void_p, c_int]
lib.MagickCompareImagesLayers.restype = c_void_p
except AttributeError:
lib.MagickCompareImagesLayers = None
if IM_VERSION >= 0x708:
try:
lib.MagickComplexImages.argtypes = [c_void_p, c_int]
lib.MagickComplexImages.restype = c_void_p
except AttributeError:
lib.MagickComplexImages = None
else:
lib.MagickComplexImages = None
if is_im_6:
lib.MagickCompositeImage.argtypes = [
c_void_p, c_void_p, c_int, c_ssize_t, c_ssize_t
]
else:
lib.MagickCompositeImage.argtypes = [
c_void_p, c_void_p, c_int, c_bool, c_ssize_t, c_ssize_t
]
lib.MagickCompositeImage.restype = c_bool
try:
lib.MagickCompositeLayers.argtypes = [
c_void_p, c_void_p, c_int, c_ssize_t, c_ssize_t
]
lib.MagickCompositeLayers.restype = c_bool
except AttributeError:
lib.MagickCompositeLayers = None
if is_im_6:
lib.MagickCompositeImageChannel.argtypes = [
c_void_p, c_int, c_void_p, c_int, c_ssize_t, c_ssize_t
]
lib.MagickCompositeImageChannel.restype = c_bool
else:
lib.MagickCompositeImageChannel = None
if IM_VERSION >= 0x708:
try:
lib.MagickConnectedComponentsImage.argtypes = [
c_void_p, c_size_t, POINTER(c_void_p)
]
lib.MagickConnectedComponentsImage.restype = c_bool
except AttributeError:
lib.MagickConnectedComponentsImage = None
else:
lib.MagickConnectedComponentsImage = None
lib.MagickConstituteImage.argtypes = [
c_void_p, c_size_t, c_size_t, c_char_p, c_int, c_void_p
]
lib.MagickContrastImage.argtypes = [c_void_p, c_bool]
lib.MagickContrastImage.restype = c_bool
lib.MagickContrastStretchImage.argtypes = [c_void_p, c_double, c_double]
if is_im_6:
lib.MagickContrastStretchImageChannel.argtypes = [
c_void_p, c_int, c_double, c_double
]
else:
lib.MagickContrastStretchImageChannel = None
lib.MagickConvolveImage.argtypes = [c_void_p, c_size_t, c_double]
lib.MagickConvolveImage.restype = c_bool
if is_im_6:
lib.MagickConvolveImageChannel.argtypes = [
c_void_p, c_int, c_size_t, c_double
]
lib.MagickConvolveImageChannel.restype = c_bool
lib.MagickCropImage.argtypes = [
c_void_p, c_size_t, c_size_t, c_ssize_t, c_ssize_t
]
lib.MagickCropImage.restype = c_bool
lib.MagickCycleColormapImage.argtypes = [c_void_p, c_ssize_t]
lib.MagickCycleColormapImage.restype = c_bool
lib.MagickDecipherImage.argtypes = [c_void_p, c_char_p]
lib.MagickDecipherImage.restype = c_bool
lib.MagickDeconstructImages.argtypes = [c_void_p]
lib.MagickDeconstructImages.restype = c_void_p
lib.MagickDeskewImage.argtypes = [c_void_p, c_double]
lib.MagickDeskewImage.restype = c_bool
lib.MagickDespeckleImage.argtypes = [c_void_p]
lib.MagickDespeckleImage.restype = c_bool
lib.MagickDestroyImage.argtypes = [c_void_p]
lib.MagickDestroyImage.restype = c_void_p
lib.MagickDisplayImage.argtypes = [c_void_p, c_char_p]
lib.MagickDisplayImage.restype = c_bool
lib.MagickDisplayImages.argtypes = [c_void_p, c_char_p]
lib.MagickDisplayImages.restype = c_bool
lib.MagickDistortImage.argtypes = [
c_void_p, c_int, c_size_t, POINTER(c_double), c_int
]
lib.MagickDistortImage.restype = c_int
lib.MagickDrawImage.argtypes = [c_void_p, c_void_p]
lib.MagickDrawImage.restype = c_int
lib.MagickEdgeImage.argtypes = [c_void_p, c_double]
lib.MagickEdgeImage.restype = c_bool
lib.MagickEmbossImage.argtypes = [c_void_p, c_double, c_double]
lib.MagickEmbossImage.restype = c_bool
lib.MagickEncipherImage.argtypes = [c_void_p, c_char_p]
lib.MagickEncipherImage.restype = c_bool
lib.MagickEnhanceImage.argtypes = [c_void_p]
lib.MagickEnhanceImage.restype = c_bool
lib.MagickEqualizeImage.argtypes = [c_void_p]
lib.MagickEqualizeImage.restype = c_bool
if is_im_6:
lib.MagickEqualizeImageChannel.argtypes = [c_void_p, c_int]
lib.MagickEqualizeImageChannel.restype = c_bool
lib.MagickEvaluateImage.argtypes = [c_void_p, c_int, c_double]
if is_im_6:
lib.MagickEvaluateImageChannel.argtypes = [
c_void_p, c_int, c_int, c_double
]
else:
lib.MagickEvaluateImageChannel = None
lib.MagickEvaluateImages.argtypes = [c_void_p, c_int]
lib.MagickEvaluateImages.restype = c_void_p
lib.MagickExportImagePixels.argtypes = [
c_void_p, c_ssize_t, c_ssize_t, c_size_t, c_size_t, c_char_p, c_int,
c_void_p
]
lib.MagickExportImagePixels.restype = c_bool
lib.MagickExtentImage.argtypes = [
c_void_p, c_size_t, c_size_t, c_ssize_t, c_ssize_t
]
lib.MagickExtentImage.restype = c_bool
if is_im_6:
lib.MagickFilterImage.argtypes = [c_void_p, c_void_p]
lib.MagickFilterImage.restype = c_bool
lib.MagickFilterImageChannel.argtypes = [c_void_p, c_int, c_void_p]
lib.MagickFilterImageChannel.restype = c_bool
lib.MagickFlipImage.argtypes = [c_void_p]
lib.MagickFlipImage.restype = c_bool
lib.MagickFloodfillPaintImage.argtypes = [
c_void_p, c_int, c_void_p, c_double, c_void_p, c_ssize_t, c_ssize_t,
c_bool
]
lib.MagickFloodfillPaintImage.restype = c_bool
lib.MagickFlopImage.argtypes = [c_void_p]
lib.MagickFlopImage.restype = c_bool
lib.MagickForwardFourierTransformImage.argtypes = [c_void_p, c_bool]
lib.MagickForwardFourierTransformImage.restype = c_bool
if is_im_6:
lib.MagickFrameImage.argtypes = [
c_void_p, c_void_p, c_size_t, c_size_t, c_ssize_t, c_ssize_t
]
else:
lib.MagickFrameImage.argtypes = [
c_void_p, c_void_p, c_size_t, c_size_t, c_ssize_t, c_ssize_t,
c_int
]
lib.MagickFrameImage.restype = c_bool
lib.MagickFunctionImage.argtypes = [
c_void_p, c_int, c_size_t, POINTER(c_double)
]
lib.MagickFunctionImage.restype = c_bool
if is_im_6:
lib.MagickFunctionImageChannel.argtypes = [
c_void_p, c_int, c_int, c_size_t, POINTER(c_double)
]
lib.MagickFunctionImageChannel.restype = c_bool
else:
lib.MagickFunctionImageChannel = None
lib.MagickFxImage.argtypes = [c_void_p, c_char_p]
lib.MagickFxImage.restype = c_void_p
if is_im_6:
lib.MagickFxImageChannel.argtypes = [c_void_p, c_int, c_char_p]
lib.MagickFxImageChannel.restype = c_void_p
else:
lib.MagickFxImageChannel = None
lib.MagickGammaImage.argtypes = [c_void_p, c_double]
lib.MagickGammaImage.restype = c_bool
if is_im_6:
lib.MagickGammaImageChannel.argtypes = [c_void_p, c_int, c_double]
lib.MagickGammaImageChannel.restype = c_bool
else:
lib.MagickGammaImageChannel = None
lib.MagickGaussianBlurImage.argtypes = [c_void_p, c_double, c_double]
lib.MagickGaussianBlurImage.restype = c_bool
if is_im_6:
lib.MagickGaussianBlurImageChannel.argtypes = [
c_void_p, c_int, c_double, c_double
]
lib.MagickGaussianBlurImageChannel.restype = c_bool
else:
lib.MagickGaussianBlurImageChannel = None
lib.MagickGetImage.argtypes = [c_void_p]
lib.MagickGetImage.restype = c_void_p
lib.MagickGetImageAlphaChannel.argtypes = [c_void_p]
lib.MagickGetImageAlphaChannel.restype = c_bool
lib.MagickGetImageBackgroundColor.argtypes = [c_void_p, c_void_p]
lib.MagickGetImageBackgroundColor.restype = c_bool
lib.MagickGetImageBlob.argtypes = [c_void_p, POINTER(c_size_t)]
lib.MagickGetImageBlob.restype = POINTER(c_ubyte)
if is_im_6:
lib.MagickGetImageBluePrimary.argtypes = [
c_void_p, POINTER(c_double), POINTER(c_double)
]
else:
lib.MagickGetImageBluePrimary.argtypes = [
c_void_p, POINTER(c_double), POINTER(c_double), POINTER(c_double)
]
lib.MagickGetImageBluePrimary.restype = c_bool
lib.MagickGetImageBorderColor.argtypes = [c_void_p, c_void_p]
lib.MagickGetImageBorderColor.restype = c_bool
if is_im_6:
lib.MagickGetImageChannelDepth.argtypes = [c_void_p, c_int]
lib.MagickGetImageChannelDepth.restype = c_size_t
lib.MagickGetImageChannelFeatures.argtypes = [c_void_p, c_size_t]
lib.MagickGetImageChannelFeatures.restype = c_void_p
lib.MagickGetImageChannelKurtosis.argtypes = [
c_void_p, c_int, POINTER(c_double), POINTER(c_double)
]
lib.MagickGetImageChannelKurtosis.restype = c_bool
lib.MagickGetImageChannelMean.argtypes = [
c_void_p, c_int, POINTER(c_double), POINTER(c_double)
]
lib.MagickGetImageChannelMean.restype = c_bool
lib.MagickGetImageChannelRange.argtypes = [
c_void_p, c_int, POINTER(c_double), POINTER(c_double)
]
lib.MagickGetImageChannelRange.restype = c_bool
lib.MagickGetImageChannelStatistics.argtypes = [c_void_p]
lib.MagickGetImageChannelStatistics.restype = c_void_p
lib.MagickGetImageClipMask.argtypes = [c_void_p]
lib.MagickGetImageClipMask.restype = c_void_p
else:
lib.MagickGetImageChannelDepth = None
lib.MagickGetImageColormapColor.argtypes = [c_void_p, c_size_t, c_void_p]
lib.MagickGetImageColormapColor.restype = c_bool
lib.MagickGetImageColors.argtypes = [c_void_p]
lib.MagickGetImageColors.restype = c_size_t
lib.MagickGetImageColorspace.argtypes = [c_void_p]
lib.MagickGetImageColorspace.restype = c_int
lib.MagickGetImageCompose.argtypes = [c_void_p]
lib.MagickGetImageCompose.restype = c_int
lib.MagickGetImageCompression.argtypes = [c_void_p]
lib.MagickGetImageCompression.restype = c_int
lib.MagickGetImageCompressionQuality.argtypes = [c_void_p]
lib.MagickGetImageCompressionQuality.restype = c_ssize_t
try:
lib.MagickGetImageEndian.argtypes = [c_void_p]
lib.MagickGetImageEndian.restype = c_int
except AttributeError:
lib.MagickGetImageEndian = None
lib.MagickGetImageDelay.argtypes = [c_void_p]
lib.MagickGetImageDelay.restype = c_size_t
lib.MagickGetImageDepth.argtypes = [c_void_p]
lib.MagickGetImageDepth.restype = c_size_t
lib.MagickGetImageDispose.argtypes = [c_void_p]
lib.MagickGetImageDispose.restype = c_int
lib.MagickGetImageDistortion.argtypes = [
c_void_p, c_void_p, c_int, POINTER(c_double)
]
lib.MagickGetImageDistortion.restype = c_bool
if is_im_7:
lib.MagickGetImageFeatures.argtypes = [c_void_p, c_size_t]
lib.MagickGetImageFeatures.restype = c_void_p
lib.MagickGetImageFilename.argtypes = [c_void_p]
lib.MagickGetImageFilename.restype = c_void_p
if IM_VERSION >= 0x710:
try:
lib.MagickGetImageFilter.argtypes = [c_void_p]
lib.MagickGetImageFilter.restype = c_int
except AttributeError:
lib.MagickGetImageFilter = None
else:
lib.MagickGetImageFilter = None
lib.MagickGetImageFormat.argtypes = [c_void_p]
lib.MagickGetImageFormat.restype = c_void_p
lib.MagickGetImageFuzz.argtypes = [c_void_p]
lib.MagickGetImageFuzz.restype = c_double
lib.MagickGetImageGamma.argtypes = [c_void_p]
lib.MagickGetImageGamma.restype = c_double
lib.MagickGetImageGravity.argtypes = [c_void_p]
lib.MagickGetImageGravity.restype = c_int
if is_im_6:
lib.MagickGetImageGreenPrimary.argtypes = [
c_void_p, POINTER(c_double), POINTER(c_double)
]
else:
lib.MagickGetImageGreenPrimary.argtypes = [
c_void_p, POINTER(c_double), POINTER(c_double), POINTER(c_double)
]
lib.MagickGetImageGreenPrimary.restype = c_bool
lib.MagickGetImageHeight.argtypes = [c_void_p]
lib.MagickGetImageHeight.restype = c_size_t
lib.MagickGetImageHistogram.argtypes = [c_void_p, POINTER(c_size_t)]
lib.MagickGetImageHistogram.restype = POINTER(c_void_p)
lib.MagickGetImageInterlaceScheme.argtypes = [c_void_p]
lib.MagickGetImageInterlaceScheme.restype = c_int
lib.MagickGetImageIterations.argtypes = [c_void_p]
lib.MagickGetImageIterations.restype = c_size_t
lib.MagickGetImageInterpolateMethod.argtypes = [c_void_p]
lib.MagickGetImageInterpolateMethod.restype = c_int
if is_im_7:
lib.MagickGetImageKurtosis.argtypes = [
c_void_p, POINTER(c_double), POINTER(c_double)
]
lib.MagickGetImageKurtosis.restype = c_bool
lib.MagickGetImageLength.argtypes = [c_void_p, POINTER(c_size_t)]
lib.MagickGetImageLength.restype = c_bool
if is_im_7:
lib.MagickGetImageMask.argtypes = [c_void_p, c_int]
lib.MagickGetImageMask.restype = c_void_p
else:
lib.MagickGetImageMask = None
lib.MagickGetImageMatteColor.argtypes = [c_void_p, c_void_p]
lib.MagickGetImageMatteColor.restype = c_bool
if is_im_7:
lib.MagickGetImageMean.argtypes = [
c_void_p, POINTER(c_double), POINTER(c_double)
]
lib.MagickGetImageMean.restype = c_bool
lib.MagickGetImageOrientation.argtypes = [c_void_p]
lib.MagickGetImageOrientation.restype = c_int
lib.MagickGetImagePage.argtypes = [
c_void_p, POINTER(c_size_t), POINTER(c_size_t), POINTER(c_ssize_t),
POINTER(c_ssize_t)
]
lib.MagickGetImagePage.restype = c_bool
lib.MagickGetImagePixelColor.argtypes = [
c_void_p, c_ssize_t, c_ssize_t, c_void_p
]
lib.MagickGetImagePixelColor.restype = c_bool
lib.MagickGetImageRange.argtypes = [
c_void_p, POINTER(c_double), POINTER(c_double)
]
lib.MagickGetImageRange.restype = c_bool
if is_im_6:
lib.MagickGetImageRedPrimary.argtypes = [
c_void_p, POINTER(c_double), POINTER(c_double)
]
else:
lib.MagickGetImageRedPrimary.argtypes = [
c_void_p, POINTER(c_double), POINTER(c_double), POINTER(c_double)
]
lib.MagickGetImageRedPrimary.restype = c_bool
lib.MagickGetImageRegion.argtypes = [
c_void_p, c_size_t, c_size_t, c_ssize_t, c_ssize_t
]
lib.MagickGetImageRegion.restype = c_void_p
lib.MagickGetImageResolution.argtypes = [
c_void_p, POINTER(c_double), POINTER(c_double)
]
lib.MagickGetImageRenderingIntent.argtypes = [c_void_p]
lib.MagickGetImageRenderingIntent.restype = c_int
lib.MagickGetImageResolution.argtypes = [
c_void_p, POINTER(c_double), POINTER(c_double)
]
lib.MagickGetImageResolution.restype = c_bool
lib.MagickGetImagesBlob.argtypes = [c_void_p, POINTER(c_size_t)]
lib.MagickGetImagesBlob.restype = POINTER(c_ubyte)
lib.MagickGetImageScene.argtypes = [c_void_p]
lib.MagickGetImageScene.restype = c_size_t
lib.MagickGetImageSignature.argtypes = [c_void_p]
lib.MagickGetImageSignature.restype = c_void_p
lib.MagickGetImageTicksPerSecond.argtypes = [c_void_p]
lib.MagickGetImageTicksPerSecond.restype = c_size_t
lib.MagickGetImageTotalInkDensity.argtypes = [c_void_p]
lib.MagickGetImageTotalInkDensity.restype = c_double
lib.MagickGetImageType.argtypes = [c_void_p]
lib.MagickGetImageType.restype = c_int
lib.MagickGetImageUnits.argtypes = [c_void_p]
lib.MagickGetImageVirtualPixelMethod.argtypes = [c_void_p]
if is_im_6:
lib.MagickGetImageWhitePoint.argtypes = [
c_void_p, POINTER(c_double), POINTER(c_double)
]
else:
lib.MagickGetImageWhitePoint.argtypes = [
c_void_p, POINTER(c_double), POINTER(c_double), POINTER(c_double)
]
lib.MagickGetImageWhitePoint.restype = c_bool
lib.MagickGetImageWidth.argtypes = [c_void_p]
lib.MagickGetImageWidth.restype = c_size_t
lib.MagickGetNumberImages.argtypes = [c_void_p]
lib.MagickGetNumberImages.restype = c_size_t
lib.MagickHaldClutImage.argtypes = [c_void_p, c_void_p]
lib.MagickHaldClutImage.restype = c_bool
if is_im_6:
lib.MagickHaldClutImageChannel.argtypes = [c_void_p, c_int, c_void_p]
lib.MagickHaldClutImageChannel.restype = c_bool
else:
lib.MagickHaldClutImageChannel = None
lib.MagickHasNextImage.argtypes = [c_void_p]
lib.MagickHasNextImage.restype = c_bool
lib.MagickHasPreviousImage.argtypes = [c_void_p]
lib.MagickHasPreviousImage.restype = c_bool
if IM_VERSION >= 0x708:
try:
lib.MagickHoughLineImage.argtypes = [c_void_p, c_size_t, c_size_t,
c_size_t]
lib.MagickHoughLineImage.restype = c_bool
except AttributeError:
lib.MagickHoughLineImage = None
else:
lib.MagickHoughLineImage = None
lib.MagickIdentifyImage.argtypes = [c_void_p]
lib.MagickIdentifyImage.restype = c_void_p
if is_im_6:
lib.MagickImplodeImage.argtypes = [c_void_p, c_double]
else:
lib.MagickImplodeImage.argtypes = [c_void_p, c_double, c_int]
lib.MagickImplodeImage.restype = c_bool
lib.MagickImportImagePixels.argtypes = [
c_void_p, c_ssize_t, c_ssize_t, c_size_t, c_size_t, c_char_p, c_int,
c_void_p
]
lib.MagickImportImagePixels.restype = c_bool
lib.MagickInverseFourierTransformImage.argtypes = [
c_void_p, c_void_p, c_double
]
lib.MagickInverseFourierTransformImage.restype = c_bool
if IM_VERSION > 0x709:
try:
lib.MagickKmeansImage.argtypes = [
c_void_p, c_size_t, c_size_t, c_double
]
lib.MagickKmeansImage.restype = c_bool
except AttributeError:
lib.MagickKmeansImage = None
else:
lib.MagickKmeansImage = None
if IM_VERSION >= 0x708:
try:
lib.MagickKuwaharaImage.argtypes = [c_void_p, c_double, c_double]
lib.MagickKuwaharaImage.restype = c_bool
except AttributeError:
lib.MagickKuwaharaImage = None
else:
lib.MagickKuwaharaImage = None
lib.MagickLabelImage.argtypes = [c_void_p, c_char_p]
lib.MagickLabelImage.restype = c_bool
lib.MagickLevelImage.argtypes = [c_void_p, c_double, c_double, c_double]
lib.MagickLevelImage.restype = c_bool
if is_im_6:
lib.MagickLevelImageChannel.argtypes = [
c_void_p, c_int, c_double, c_double, c_double
]
lib.MagickLevelImageChannel.restype = c_bool
else:
lib.MagickLevelImageChannel = None
if IM_VERSION >= 0x708:
try:
lib.MagickLevelImageColors.argtypes = [
c_void_p, c_void_p, c_void_p, c_bool
]
lib.MagickLevelImageColors.restype = c_bool
except AttributeError:
lib.MagickLevelImageColors = None
try:
lib.MagickLevelizeImage.argtypes = [c_void_p, c_double, c_double,
c_double]
lib.MagickLevelizeImage.restype = c_bool
except AttributeError:
lib.MagickLevelizeImage = None
else:
lib.MagickLevelImageColors = None
lib.MagickLevelizeImage = None
lib.MagickLinearStretchImage.argtypes = [c_void_p, c_double, c_double]
lib.MagickLinearStretchImage.restype = c_bool
lib.MagickLiquidRescaleImage.argtypes = [
c_void_p, c_size_t, c_size_t, c_double, c_double
]
lib.MagickLiquidRescaleImage.restype = c_bool
try:
lib.MagickLocalContrastImage.argtypes = [c_void_p, c_double, c_double]
lib.MagickLocalContrastImage.restype = c_bool
except AttributeError:
lib.MagickLocalContrastImage = None
lib.MagickMagnifyImage.argtypes = [c_void_p]
lib.MagickMagnifyImage.restype = c_bool
if IM_VERSION >= 0x708:
try:
lib.MagickMeanShiftImage.argtypes = [c_void_p, c_size_t, c_size_t,
c_double]
lib.MagickMeanShiftImage.restype = c_bool
except AttributeError:
lib.MagickMeanShiftImage = None
else:
lib.MagickMeanShiftImage = None
if is_im_6:
lib.MagickMedianFilterImage.argtypes = [c_void_p, c_double]
lib.MagickMedianFilterImage.restype = c_bool
lib.MagickMergeImageLayers.argtypes = [c_void_p, c_int]
lib.MagickMergeImageLayers.restype = c_void_p
lib.MagickMinifyImage.argtypes = [c_void_p]
lib.MagickMinifyImage.restype = c_bool
try:
lib.MagickModeImage.argtypes = [c_void_p, c_double]
lib.MagickModeImage.restype = c_bool
except AttributeError:
pass
lib.MagickModulateImage.argtypes = [c_void_p, c_double, c_double, c_double]
lib.MagickModulateImage.restype = c_bool
lib.MagickMontageImage.argtypes = [
c_void_p, c_void_p, c_char_p, c_char_p, c_int, c_char_p
]
lib.MagickMontageImage.restype = c_void_p
lib.MagickMorphImages.argtypes = [c_void_p, c_size_t]
lib.MagickMorphImages.restype = c_void_p
lib.MagickMorphologyImage.argtypes = [c_void_p, c_int, c_ssize_t, c_void_p]
lib.MagickMorphologyImage.restype = c_bool
if is_im_6:
lib.MagickMorphologyImageChannel.argtypes = [
c_void_p, c_int, c_int, c_ssize_t, c_void_p
]
lib.MagickMorphologyImageChannel.restype = c_bool
else:
lib.MagickMorphologyImageChannel = None
lib.MagickMotionBlurImage.argtypes = [
c_void_p, c_double, c_double, c_double
]
lib.MagickMotionBlurImage.restype = c_bool
if is_im_6:
lib.MagickMotionBlurImageChannel.argtypes = [
c_void_p, c_int, c_double, c_double, c_double
]
lib.MagickMotionBlurImageChannel.restype = c_bool
else:
lib.MagickMotionBlurImageChannel = None
lib.MagickNegateImage.argtypes = [c_void_p, c_int]
lib.MagickNegateImage.restype = c_bool
if is_im_6:
lib.MagickNegateImageChannel.argtypes = [c_void_p, c_int, c_int]
lib.MagickNegateImageChannel.restype = c_bool
else:
lib.MagickNegateImageChannel = None
lib.MagickNewImage.argtypes = [c_void_p, c_int, c_int, c_void_p]
lib.MagickNewImage.restype = c_bool
lib.MagickNextImage.argtypes = [c_void_p]
lib.MagickNextImage.restype = c_bool
lib.MagickNormalizeImage.argtypes = [c_void_p]
lib.MagickNormalizeImage.restype = c_bool
if is_im_6:
lib.MagickNormalizeImageChannel.argtypes = [c_void_p, c_int]
lib.MagickNormalizeImageChannel.restype = c_bool
else:
lib.MagickNormalizeImageChannel = None
if is_im_6:
lib.MagickOilPaintImage.argtypes = [c_void_p, c_double]
lib.MagickOilPaintImage.restype = c_bool
else:
lib.MagickOilPaintImage.argtypes = [c_void_p, c_double, c_double]
lib.MagickOilPaintImage.restype = c_bool
lib.MagickOpaquePaintImage.argtypes = [
c_void_p, c_void_p, c_void_p, c_double, c_bool
]
lib.MagickOpaquePaintImage.restype = c_bool
if is_im_6:
lib.MagickOpaquePaintImageChannel.argtypes = [
c_void_p, c_int, c_void_p, c_void_p, c_double, c_bool
]
lib.MagickOpaquePaintImageChannel.restype = c_bool
lib.MagickOptimizeImageLayers.argtypes = [c_void_p]
lib.MagickOptimizeImageLayers.restype = c_void_p
try:
lib.MagickOptimizeImageTransparency.argtypes = [c_void_p]
lib.MagickOptimizeImageTransparency.restype = c_bool
except AttributeError:
lib.MagickOptimizeImageTransparency = None
if is_im_7:
lib.MagickOrderedDitherImage.argtypes = [c_void_p, c_char_p]
lib.MagickOrderedDitherImage.restype = c_bool
if is_im_6:
lib.MagickOrderedPosterizeImage.argtypes = [c_void_p, c_char_p]
lib.MagickOrderedPosterizeImage.restype = c_bool
lib.MagickOrderedPosterizeImageChannel.argtypes = [
c_void_p, c_int, c_char_p
]
lib.MagickOrderedPosterizeImageChannel.restype = c_bool
lib.MagickPingImage.argtypes = [c_void_p, c_char_p]
lib.MagickPingImage.restype = c_bool
lib.MagickPingImageBlob.argtypes = [c_void_p, c_void_p, c_size_t]
lib.MagickPingImageBlob.restype = c_bool
lib.MagickPingImageFile.argtypes = [c_void_p, c_void_p]
lib.MagickPingImageFile.restype = c_bool
if is_im_6:
lib.MagickPolaroidImage.argtypes = [c_void_p, c_void_p, c_double]
lib.MagickPolaroidImage.restype = c_bool
else:
lib.MagickPolaroidImage.argtypes = [
c_void_p, c_void_p, c_char_p, c_double, c_int
]
lib.MagickPolaroidImage.restype = c_bool
if IM_VERSION >= 0x708:
try:
lib.MagickPolynomialImage.argtypes = [c_void_p, c_size_t,
POINTER(c_double)]
lib.MagickPolynomialImage.restype = c_bool
except AttributeError:
lib.MagickPolynomialImage = None
else:
lib.MagickPolynomialImage = None
lib.MagickPosterizeImage.argtypes = [c_void_p, c_size_t, c_bool]
lib.MagickPosterizeImage.restype = c_bool
lib.MagickPreviewImages.argtypes = [c_void_p, c_int]
lib.MagickPreviewImages.restype = c_void_p
lib.MagickPreviousImage.argtypes = [c_void_p]
lib.MagickPreviousImage.restype = c_bool
if IM_VERSION < 0x700:
lib.MagickQuantizeImage.argtypes = [
c_void_p, c_size_t, c_int, c_size_t, c_bool, c_bool
]
lib.MagickQuantizeImage.restypes = c_bool
lib.MagickQuantizeImages.argtypes = [
c_void_p, c_size_t, c_int, c_size_t, c_bool, c_bool
]
lib.MagickQuantizeImages.restype = c_bool
else:
lib.MagickQuantizeImage.argtypes = [
c_void_p, c_size_t, c_int, c_size_t, c_int, c_bool
]
lib.MagickQuantizeImage.restypes = c_bool
lib.MagickQuantizeImages.argtypes = [
c_void_p, c_size_t, c_int, c_size_t, c_int, c_bool
]
lib.MagickQuantizeImages.restype = c_bool
lib.MagickRaiseImage.argtypes = [
c_void_p, c_size_t, c_size_t, c_ssize_t, c_ssize_t, c_bool
]
lib.MagickRandomThresholdImage.argtypes = [c_void_p, c_double, c_double]
lib.MagickRandomThresholdImage.restype = c_bool
if is_im_6:
lib.MagickRandomThresholdImageChannel.argtypes = [
c_void_p, c_int, c_double, c_double
]
lib.MagickRandomThresholdImageChannel.restype = c_bool
if IM_VERSION >= 0x708:
try:
lib.MagickRangeThresholdImage.argtypes = [c_void_p, c_double,
c_double, c_double,
c_double]
lib.MagickRangeThresholdImage.restype = c_bool
except AttributeError:
lib.MagickRangeThresholdImage = None
else:
lib.MagickRangeThresholdImage = None
lib.MagickReadImage.argtypes = [c_void_p, c_char_p]
lib.MagickReadImage.restype = c_bool
lib.MagickReadImageBlob.argtypes = [c_void_p, c_void_p, c_size_t]
lib.MagickReadImageBlob.restype = c_bool
lib.MagickReadImageFile.argtypes = [c_void_p, c_void_p]
lib.MagickReadImageFile.restype = c_bool
try:
lib.MagickReduceNoiseImage.argtypes = [c_void_p, c_double]
lib.MagickReduceNoiseImage.restype = c_bool
except AttributeError:
pass
lib.MagickRemapImage.argtypes = [c_void_p, c_void_p, c_int]
lib.MagickRemapImage.restype = c_bool
lib.MagickRemoveImage.argtypes = [c_void_p]
lib.MagickRemoveImage.restype = c_bool
lib.MagickResampleImage.argtypes = [
c_void_p, c_double, c_double, c_int, c_double
]
lib.MagickResampleImage.restype = c_bool
lib.MagickResetImagePage.argtypes = [c_void_p, c_char_p]
lib.MagickResetImagePage.restype = c_bool
lib.MagickResizeImage.argtypes = [
c_void_p, c_size_t, c_size_t, c_int, c_double
]
lib.MagickResizeImage.restype = c_bool
lib.MagickRollImage.argtypes = [c_void_p, c_ssize_t, c_ssize_t]
lib.MagickRollImage.restype = c_bool
lib.MagickRotateImage.argtypes = [c_void_p, c_void_p, c_double]
lib.MagickRotateImage.restype = c_bool
try:
lib.MagickRotationalBlurImage.argtypes = [c_void_p, c_double]
lib.MagickRotationalBlurImage.restype = c_bool
if is_im_6:
lib.MagickRotationalBlurImageChannel.argtypes = [
c_void_p, c_int, c_double
]
lib.MagickRotationalBlurImageChannel.restype = c_bool
except AttributeError:
lib.MagickRotationalBlurImage = None
pass
lib.MagickSampleImage.argtypes = [c_void_p, c_size_t, c_size_t]
lib.MagickSampleImage.restype = c_bool
lib.MagickScaleImage.argtypes = [c_void_p, c_size_t, c_size_t]
lib.MagickScaleImage.restype = c_bool
lib.MagickSegmentImage.argtypes = [
c_void_p, c_int, c_bool, c_double, c_double
]
lib.MagickSegmentImage.restype = c_bool
lib.MagickSelectiveBlurImage.argtypes = [
c_void_p, c_double, c_double, c_double
]
lib.MagickSelectiveBlurImage.restype = c_bool
if is_im_6:
lib.MagickSelectiveBlurImageChannel.argtypes = [
c_void_p, c_int, c_double, c_double, c_double
]
lib.MagickSelectiveBlurImageChannel.restype = c_bool
lib.MagickSepiaToneImage.argtypes = [c_void_p, c_double]
lib.MagickSepiaToneImage.restype = c_bool
if is_im_6:
lib.MagickSeparateImage = None
lib.MagickSeparateImageChannel.argtypes = [c_void_p, c_int]
lib.MagickSeparateImageChannel.restype = c_bool
else:
lib.MagickSeparateImage.argtypes = [c_void_p, c_int]
lib.MagickSeparateImage.restype = c_bool
lib.MagickSeparateImageChannel = None
lib.MagickSetImage.argtypes = [c_void_p, c_void_p]
lib.MagickSetImage.restype = c_bool
lib.MagickSetImageAlphaChannel.argtypes = [c_void_p, c_int]
lib.MagickSetImageAlphaChannel.restype = c_bool
lib.MagickSetImageBackgroundColor.argtypes = [c_void_p, c_void_p]
lib.MagickSetImageBackgroundColor.restype = c_bool
if is_im_6:
lib.MagickSetImageBias.argtypes = [c_void_p, c_double]
lib.MagickSetImageBias.restype = c_bool
else:
lib.MagickSetImageBias = None
if is_im_6:
lib.MagickSetImageBluePrimary.argtypes = [
c_void_p, c_double, c_double
]
else:
lib.MagickSetImageBluePrimary.argtypes = [
c_void_p, c_double, c_double, c_double
]
lib.MagickSetImageBluePrimary.restype = c_bool
lib.MagickSetImageBorderColor.argtypes = [c_void_p, c_void_p]
lib.MagickSetImageBorderColor.restype = c_bool
if is_im_6:
lib.MagickSetImageChannelDepth.argtypes = [c_void_p, c_int, c_size_t]
lib.MagickSetImageClipMask.argtypes = [c_void_p, c_void_p]
lib.MagickSetImageClipMask.restype = c_bool
else:
lib.MagickSetImageChannelDepth = None
lib.MagickSetImageClipMask = None
if is_im_7:
lib.MagickSetImageChannelMask.argtypes = [c_void_p, c_int]
lib.MagickSetImageChannelMask.restype = c_int
lib.MagickSetImageColor.argtypes = [c_void_p, c_void_p]
lib.MagickSetImageColor.restype = c_bool
lib.MagickSetImageColormapColor.argtypes = [c_void_p, c_size_t, c_void_p]
lib.MagickSetImageColormapColor.restype = c_bool
lib.MagickSetImageColorspace.argtypes = [c_void_p, c_int]
lib.MagickSetImageColorspace.restype = c_bool
lib.MagickSetImageCompose.argtypes = [c_void_p, c_int]
lib.MagickSetImageCompose.restype = c_bool
lib.MagickSetImageCompression.argtypes = [c_void_p, c_int]
lib.MagickSetImageCompression.restype = c_bool
lib.MagickSetImageCompressionQuality.argtypes = [c_void_p, c_ssize_t]
lib.MagickSetImageCompressionQuality.restype = c_bool
lib.MagickSetImageDelay.argtypes = [c_void_p, c_ssize_t]
lib.MagickSetImageDelay.restype = c_bool
lib.MagickSetImageDepth.argtypes = [c_void_p, c_size_t]
lib.MagickSetImageDepth.restype = c_bool
lib.MagickSetImageDispose.argtypes = [c_void_p, c_int]
lib.MagickSetImageDispose.restype = c_bool
try:
lib.MagickSetImageEndian.argtypes = [c_void_p, c_int]
lib.MagickSetImageEndian.restype = c_bool
except AttributeError:
lib.MagickSetImageEndian = None
lib.MagickSetImageExtent.argtypes = [c_void_p, c_size_t, c_size_t]
lib.MagickSetImageExtent.restype = c_bool
lib.MagickSetImageFilename.argtypes = [c_void_p, c_char_p]
lib.MagickSetImageFilename.restype = c_bool
if IM_VERSION >= 0x710:
try:
lib.MagickSetImageFilter.argtypes = [c_void_p, c_int]
lib.MagickSetImageFilter.restype = c_bool
except AttributeError:
lib.MagickSetImageFilter = None
else:
lib.MagickSetImageFilter = None
lib.MagickSetImageFormat.argtypes = [c_void_p, c_char_p]
lib.MagickSetImageFormat.restype = c_bool
lib.MagickSetImageFuzz.argtypes = [c_void_p, c_double]
lib.MagickSetImageFuzz.restype = c_bool
lib.MagickSetImageGamma.argtypes = [c_void_p, c_double]
lib.MagickSetImageGamma.restype = c_bool
lib.MagickSetImageGravity.argtypes = [c_void_p, c_int]
lib.MagickSetImageGravity.restype = c_bool
if is_im_6:
lib.MagickSetImageGreenPrimary.argtypes = [
c_void_p, c_double, c_double
]
else:
lib.MagickSetImageGreenPrimary.argtypes = [
c_void_p, c_double, c_double, c_double
]
lib.MagickSetImageGreenPrimary.restype = c_bool
lib.MagickSetImageInterlaceScheme.argtypes = [c_void_p, c_int]
lib.MagickSetImageInterlaceScheme.restype = c_bool
lib.MagickSetImageInterpolateMethod.argtypes = [c_void_p, c_int]
lib.MagickSetImageInterpolateMethod.restype = c_bool
lib.MagickSetImageIterations.argtypes = [c_void_p, c_size_t]
lib.MagickSetImageIterations.restype = c_bool
if is_im_7:
lib.MagickSetImageMask.argtypes = [c_void_p, c_int, c_void_p]
lib.MagickSetImageMask.restype = c_bool
else:
lib.MagickSetImageMask = None
lib.MagickSetImageMatte.argtypes = [c_void_p, c_bool]
lib.MagickSetImageMatteColor.argtypes = [c_void_p, c_void_p]
if is_im_6:
lib.MagickSetImageOpacity.argtypes = [c_void_p, c_double]
lib.MagickSetImageOpacity.restype = c_bool
else:
lib.MagickSetImageOpacity = None
lib.MagickSetImageOrientation.argtypes = [c_void_p, c_int]
lib.MagickSetImagePage.argtypes = [
c_void_p, c_size_t, c_size_t, c_ssize_t, c_ssize_t
]
lib.MagickSetImagePage.restype = c_int
lib.MagickSetImageProgressMonitor.argtypes = [
c_void_p, MagickProgressMonitor, c_void_p
]
if is_im_6:
lib.MagickSetImageRedPrimary.argtypes = [
c_void_p, c_double, c_double
]
else:
lib.MagickSetImageRedPrimary.argtypes = [
c_void_p, c_double, c_double, c_double
]
lib.MagickSetImageRedPrimary.restype = c_bool
lib.MagickSetImageRenderingIntent.argtypes = [c_void_p, c_int]
lib.MagickSetImageRenderingIntent.restype = c_bool
lib.MagickSetImageResolution.argtypes = [c_void_p, c_double, c_double]
lib.MagickSetImageScene.argtypes = [c_void_p, c_size_t]
lib.MagickSetImageScene.restype = c_bool
lib.MagickSetImageTicksPerSecond.argtypes = [c_void_p, c_ssize_t]
lib.MagickSetImageTicksPerSecond.restype = c_bool
lib.MagickSetImageType.argtypes = [c_void_p, c_int]
lib.MagickSetImageUnits.argtypes = [c_void_p, c_int]
lib.MagickSetImageVirtualPixelMethod.argtypes = [c_void_p, c_int]
if is_im_6:
lib.MagickSetImageWhitePoint.argtypes = [
c_void_p, c_double, c_double
]
else:
lib.MagickSetImageWhitePoint.argtypes = [
c_void_p, c_double, c_double, c_double
]
lib.MagickSetImageWhitePoint.restype = c_bool
lib.MagickShadeImage.argtypes = [c_void_p, c_bool, c_double, c_double]
lib.MagickShadeImage.restype = c_bool
lib.MagickShadowImage.argtypes = [
c_void_p, c_double, c_double, c_ssize_t, c_ssize_t
]
lib.MagickShadowImage.restype = c_bool
lib.MagickSharpenImage.argtypes = [c_void_p, c_double, c_double]
lib.MagickSharpenImage.restype = c_bool
if is_im_6:
lib.MagickSharpenImageChannel.argtypes = [
c_void_p, c_int, c_double, c_double
]
lib.MagickSharpenImageChannel.restype = c_bool
else:
lib.MagickSharpenImageChannel = None
lib.MagickShaveImage.argtypes = [c_void_p, c_size_t, c_size_t]
lib.MagickShaveImage.restype = c_void_p
lib.MagickShearImage.argtypes = [c_void_p, c_void_p, c_double, c_double]
lib.MagickShearImage.restype = c_bool
lib.MagickSigmoidalContrastImage.argtypes = [
c_void_p, c_bool, c_double, c_double
]
lib.MagickSigmoidalContrastImage.restype = c_bool
if is_im_6:
lib.MagickSigmoidalContrastImageChannel.argtypes = [
c_void_p, c_int, c_bool, c_double, c_double
]
lib.MagickSigmoidalContrastImageChannel.restype = c_bool
else:
lib.MagickSigmoidalContrastImageChannel = None
if is_im_6:
lib.MagickSimilarityImage.argtypes = [
c_void_p, c_void_p, c_void_p, POINTER(c_double)
]
lib.MagickSimilarityImage.restype = c_void_p
else:
lib.MagickSimilarityImage.argtypes = [
c_void_p, c_void_p, c_int, c_double, c_void_p, POINTER(c_double)
]
lib.MagickSimilarityImage.restype = c_void_p
lib.MagickSketchImage.argtypes = [c_void_p, c_double, c_double, c_double]
lib.MagickSketchImage.restype = c_bool
lib.MagickSmushImages.argtypes = [c_void_p, c_bool, c_ssize_t]
lib.MagickSmushImages.restype = c_void_p
lib.MagickSolarizeImage.argtypes = [c_void_p, c_double]
lib.MagickSolarizeImage.restype = c_bool
try:
lib.MagickSolarizeImageChannel.argtypes = [c_void_p, c_int, c_double]
lib.MagickSolarizeImageChannel.restype = c_bool
except AttributeError:
lib.MagickSolarizeImageChannel = None
if is_im_6:
lib.MagickSparseColorImage.argtypes = [
c_void_p, c_int, c_int, c_size_t, POINTER(c_double)
]
else:
lib.MagickSparseColorImage.argtypes = [
c_void_p, c_int, c_size_t, POINTER(c_double)
]
lib.MagickSparseColorImage.restype = c_bool
lib.MagickSpliceImage.argtypes = [
c_void_p, c_size_t, c_size_t, c_ssize_t, c_ssize_t
]
lib.MagickSpliceImage.restype = c_bool
if is_im_6:
lib.MagickSpreadImage.argtypes = [c_void_p, c_double]
lib.MagickSpreadImage.restype = c_bool
else:
lib.MagickSpreadImage.argtypes = [c_void_p, c_int, c_double]
lib.MagickSpreadImage.restype = c_bool
lib.MagickStatisticImage.argtypes = [c_void_p, c_int, c_size_t, c_size_t]
lib.MagickStatisticImage.restype = c_bool
if is_im_6:
try:
# TODO - Arguments for MagickStatisticImageChannel changed
# around commit 2d8a006b @ Feb 9 13:02:53 2013. Use IM_VERSION
# to determine correct method signature/arguments.
lib.MagickStatisticImageChannel.argtypes = [
c_void_p, c_int, c_int, c_size_t, c_size_t
]
lib.MagickStatisticImageChannel.restype = c_bool
except AttributeError:
lib.MagickStatisticImageChannel = None
else:
lib.MagickStatisticImageChannel = None
lib.MagickSteganoImage.argtypes = [c_void_p, c_void_p, c_ssize_t]
lib.MagickSteganoImage.restype = c_void_p
lib.MagickStereoImage.argtypes = [c_void_p, c_void_p]
lib.MagickStereoImage.restype = c_void_p
lib.MagickStripImage.argtypes = [c_void_p]
lib.MagickStripImage.restype = c_bool
if is_im_6:
lib.MagickSwirlImage.argtypes = [c_void_p, c_double]
lib.MagickSwirlImage.restype = c_bool
else:
lib.MagickSwirlImage.argtypes = [c_void_p, c_double, c_int]
lib.MagickSwirlImage.restype = c_bool
lib.MagickTextureImage.argtypes = [c_void_p, c_void_p]
lib.MagickTextureImage.restype = c_void_p
lib.MagickTintImage.argtypes = [c_void_p, c_void_p, c_void_p]
lib.MagickTintImage.restype = c_bool
lib.MagickThresholdImage.argtypes = [c_void_p, c_double]
lib.MagickThresholdImage.restype = c_bool
lib.MagickThresholdImageChannel.argtypes = [c_void_p, c_int, c_double]
lib.MagickThresholdImageChannel.restype = c_bool
lib.MagickThumbnailImage.argtypes = [c_void_p, c_size_t, c_size_t]
lib.MagickThumbnailImage.restype = c_bool
if is_im_6:
lib.MagickTransformImage.argtypes = [c_void_p, c_char_p, c_char_p]
lib.MagickTransformImage.restype = c_void_p
else:
lib.MagickTransformImage = None
lib.MagickTransformImageColorspace.argtypes = [c_void_p, c_int]
lib.MagickTransformImageColorspace.restype = c_bool
lib.MagickTransparentPaintImage.argtypes = [
c_void_p, c_void_p, c_double, c_double, c_int
]
lib.MagickTransparentPaintImage.restype = c_bool
lib.MagickTransposeImage.argtypes = [c_void_p]
lib.MagickTransposeImage.restype = c_bool
lib.MagickTransverseImage.argtypes = [c_void_p]
lib.MagickTransverseImage.restype = c_bool
lib.MagickTrimImage.argtypes = [c_void_p, c_double]
lib.MagickTrimImage.restype = c_bool
lib.MagickUniqueImageColors.argtypes = [c_void_p]
lib.MagickUniqueImageColors.restype = c_bool
lib.MagickUnsharpMaskImage.argtypes = [
c_void_p, c_double, c_double, c_double, c_double
]
lib.MagickUnsharpMaskImage.restype = c_bool
if is_im_6:
lib.MagickUnsharpMaskImageChannel.argtypes = [
c_void_p, c_int, c_double, c_double, c_double, c_double
]
lib.MagickUnsharpMaskImageChannel.restype = c_bool
else:
lib.MagickUnsharpMaskImageChannel = None
lib.MagickVignetteImage.argtypes = [
c_void_p, c_double, c_double, c_ssize_t, c_ssize_t
]
lib.MagickVignetteImage.restype = c_bool
if is_im_6:
lib.MagickWaveImage.argtypes = [c_void_p, c_double, c_double]
lib.MagickWaveImage.restype = c_bool
else:
lib.MagickWaveImage.argtypes = [c_void_p, c_double, c_double, c_int]
lib.MagickWaveImage.restype = c_bool
if IM_VERSION >= 0x708:
try:
lib.MagickWaveletDenoiseImage.argtypes = [c_void_p, c_double,
c_double]
lib.MagickWaveletDenoiseImage.restype = c_bool
except AttributeError:
lib.MagickWaveletDenoiseImage = None
else:
lib.MagickWaveletDenoiseImage = None
if IM_VERSION > 0x709:
try:
lib.MagickWhiteBalanceImage.argtypes = [c_void_p]
lib.MagickWhiteBalanceImage.restype = c_bool
except AttributeError:
lib.MagickWhiteBalanceImage = None
else:
lib.MagickWhiteBalanceImage = None
lib.MagickWhiteThresholdImage.argtypes = [c_void_p, c_void_p]
lib.MagickWhiteThresholdImage.restype = c_bool
lib.MagickWriteImage.argtypes = [c_void_p, c_char_p]
lib.MagickWriteImage.restype = c_bool
lib.MagickWriteImageFile.argtypes = [c_void_p, c_void_p]
lib.MagickWriteImageFile.restype = c_bool
lib.MagickWriteImages.argtypes = [c_void_p, c_char_p, c_int]
lib.MagickWriteImages.restype = c_bool
lib.MagickWriteImagesFile.argtypes = [c_void_p, c_void_p]
lib.MagickWriteImagesFile.restype = c_bool