mirror of
https://github.com/Imagick/imagick.git
synced 2026-06-19 07:35:36 +00:00
Added most of remaining functions.
This commit is contained in:
@@ -1499,4 +1499,120 @@ proto bool Imagick::setImageBluePrimary(float x, float y, float z) */
|
||||
#if IM_HAVE_IMAGICK_WHITEBALANCEIMAGE
|
||||
public function whiteBalanceImage(): bool {}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_DELETE_OPTION
|
||||
public function deleteOption(string $option): bool {}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_BACKGROUND_COLOR
|
||||
public function getBackgroundColor(): ImagickPixel {}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_IMAGE_ARTIFACTS
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public function getImageArtifacts(string $pattern = "*"): array {}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_IMAGE_DISTORTIONS
|
||||
|
||||
/**
|
||||
* metric - MetricType_
|
||||
* @return float[]
|
||||
*/
|
||||
// public function getImageDistortions(int $metric): array{}
|
||||
// for (j=0; j <= MaxPixelChannels; j++)
|
||||
// distortion[j]+=channel_distortion[j];
|
||||
// Use MagickRelinquishMemory() to free the metrics when you are done with them.
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_IMAGE_KURTOSIS
|
||||
|
||||
/**
|
||||
* return [kurtosis:float,skewness: float]
|
||||
*/
|
||||
public function getImageKurtosis(): array {}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_IMAGE_MEAN
|
||||
/**
|
||||
* return [$mean, $standard_deviation]
|
||||
*/
|
||||
public function getImageMean(): array {}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_IMAGE_RANGE
|
||||
/**
|
||||
* return [minima, float $maxima]
|
||||
*/
|
||||
public function getImageRange(): array {}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_INTERPOLATE_METHOD
|
||||
/**
|
||||
* return int - PixelInterpolateMethod
|
||||
*/
|
||||
public function getInterpolateMethod(): int {}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_OPTIONS
|
||||
/**
|
||||
* return string[]
|
||||
*/
|
||||
public function getOptions(string $pattern = "*"): array {}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_ORIENTATION
|
||||
/**
|
||||
* return int OrientationType
|
||||
*/
|
||||
public function getOrientation(): int {}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_RESOLUTION
|
||||
/**
|
||||
* return [x: float, y: float]
|
||||
*/
|
||||
public function getResolution(): array {}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_TYPE
|
||||
/**
|
||||
* return ImageType
|
||||
*/
|
||||
public function getType(): int {}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_POLYNOMIAL_IMAGE
|
||||
//% o number_terms: the number of terms in the list. The actual list length
|
||||
//% is 2 x number_terms + 1 (the constant).
|
||||
public function polynomialImage(array $terms): bool {}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_SET_DEPTH
|
||||
public function setDepth(int $depth): bool {}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_SET_EXTRACT
|
||||
//% MagickSetExtract() sets the extract geometry before you read or write an
|
||||
//% image file. Use it for inline cropping (e.g. 200x200+0+0) or resizing
|
||||
//% (e.g.200x200).
|
||||
public function setExtract(string $geometry): bool {}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_SET_INTERPOLATE_METHOD
|
||||
/**
|
||||
* int $method - PixelInterpolateMethod
|
||||
*/
|
||||
public function setInterpolateMethod(int $method): bool{}
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_SET_ORIENTATION
|
||||
/**
|
||||
* $orientation - OrientationType
|
||||
*/
|
||||
public function setOrientation(int $orientation): bool {}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
@@ -5771,6 +5771,220 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_whiteBalanceImage, 0, 0, 0)
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_DELETE_OPTION
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Imagick_deleteOption, 0, 1, _IS_BOOL, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_deleteOption, 0, 0, 1)
|
||||
#endif
|
||||
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_ARG_TYPE_INFO(0, option, IS_STRING, 0)
|
||||
#else
|
||||
ZEND_ARG_INFO(0, option)
|
||||
#endif
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_BACKGROUND_COLOR
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_Imagick_getBackgroundColor, 0, 0, ImagickPixel, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_getBackgroundColor, 0, 0, 0)
|
||||
#endif
|
||||
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_IMAGE_ARTIFACTS
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Imagick_getImageArtifacts, 0, 0, IS_ARRAY, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_getImageArtifacts, 0, 0, 0)
|
||||
#endif
|
||||
|
||||
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pattern, IS_STRING, 0, "\"*\"")
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_IMAGE_KURTOSIS
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Imagick_getImageKurtosis, 0, 0, IS_ARRAY, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_getImageKurtosis, 0, 0, 0)
|
||||
#endif
|
||||
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_IMAGE_MEAN
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Imagick_getImageMean, 0, 0, IS_ARRAY, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_getImageMean, 0, 0, 0)
|
||||
#endif
|
||||
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_IMAGE_RANGE
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Imagick_getImageRange, 0, 0, IS_ARRAY, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_getImageRange, 0, 0, 0)
|
||||
#endif
|
||||
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_INTERPOLATE_METHOD
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Imagick_getInterpolateMethod, 0, 0, IS_LONG, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_getInterpolateMethod, 0, 0, 0)
|
||||
#endif
|
||||
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_OPTIONS
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Imagick_getOptions, 0, 0, IS_ARRAY, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_getOptions, 0, 0, 0)
|
||||
#endif
|
||||
|
||||
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pattern, IS_STRING, 0, "\"*\"")
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_ORIENTATION
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Imagick_getOrientation, 0, 0, IS_LONG, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_getOrientation, 0, 0, 0)
|
||||
#endif
|
||||
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_RESOLUTION
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Imagick_getResolution, 0, 0, IS_ARRAY, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_getResolution, 0, 0, 0)
|
||||
#endif
|
||||
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_TYPE
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Imagick_getType, 0, 0, IS_LONG, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_getType, 0, 0, 0)
|
||||
#endif
|
||||
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_POLYNOMIAL_IMAGE
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Imagick_polynomialImage, 0, 1, _IS_BOOL, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_polynomialImage, 0, 0, 1)
|
||||
#endif
|
||||
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_ARG_TYPE_INFO(0, terms, IS_ARRAY, 0)
|
||||
#else
|
||||
ZEND_ARG_INFO(0, terms)
|
||||
#endif
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_SET_DEPTH
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Imagick_setDepth, 0, 1, _IS_BOOL, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_setDepth, 0, 0, 1)
|
||||
#endif
|
||||
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_ARG_TYPE_INFO(0, depth, IS_LONG, 0)
|
||||
#else
|
||||
ZEND_ARG_INFO(0, depth)
|
||||
#endif
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_SET_EXTRACT
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Imagick_setExtract, 0, 1, _IS_BOOL, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_setExtract, 0, 0, 1)
|
||||
#endif
|
||||
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_ARG_TYPE_INFO(0, geometry, IS_STRING, 0)
|
||||
#else
|
||||
ZEND_ARG_INFO(0, geometry)
|
||||
#endif
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_SET_INTERPOLATE_METHOD
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Imagick_setInterpolateMethod, 0, 1, _IS_BOOL, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_setInterpolateMethod, 0, 0, 1)
|
||||
#endif
|
||||
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_ARG_TYPE_INFO(0, method, IS_LONG, 0)
|
||||
#else
|
||||
ZEND_ARG_INFO(0, method)
|
||||
#endif
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_SET_ORIENTATION
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Imagick_setOrientation, 0, 1, _IS_BOOL, 0)
|
||||
#else
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Imagick_setOrientation, 0, 0, 1)
|
||||
#endif
|
||||
|
||||
|
||||
#if PHP_VERSION_ID >= 80000
|
||||
ZEND_ARG_TYPE_INFO(0, orientation, IS_LONG, 0)
|
||||
#else
|
||||
ZEND_ARG_INFO(0, orientation)
|
||||
#endif
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
|
||||
#if MagickLibVersion > 0x628
|
||||
ZEND_METHOD(Imagick, optimizeImageLayers);
|
||||
@@ -6499,6 +6713,54 @@ ZEND_METHOD(Imagick, orderedDitherImage);
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_WHITEBALANCEIMAGE
|
||||
ZEND_METHOD(Imagick, whiteBalanceImage);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_DELETE_OPTION
|
||||
ZEND_METHOD(Imagick, deleteOption);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_BACKGROUND_COLOR
|
||||
ZEND_METHOD(Imagick, getBackgroundColor);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_IMAGE_ARTIFACTS
|
||||
ZEND_METHOD(Imagick, getImageArtifacts);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_IMAGE_KURTOSIS
|
||||
ZEND_METHOD(Imagick, getImageKurtosis);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_IMAGE_MEAN
|
||||
ZEND_METHOD(Imagick, getImageMean);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_IMAGE_RANGE
|
||||
ZEND_METHOD(Imagick, getImageRange);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_INTERPOLATE_METHOD
|
||||
ZEND_METHOD(Imagick, getInterpolateMethod);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_OPTIONS
|
||||
ZEND_METHOD(Imagick, getOptions);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_ORIENTATION
|
||||
ZEND_METHOD(Imagick, getOrientation);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_RESOLUTION
|
||||
ZEND_METHOD(Imagick, getResolution);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_TYPE
|
||||
ZEND_METHOD(Imagick, getType);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_POLYNOMIAL_IMAGE
|
||||
ZEND_METHOD(Imagick, polynomialImage);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_SET_DEPTH
|
||||
ZEND_METHOD(Imagick, setDepth);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_SET_EXTRACT
|
||||
ZEND_METHOD(Imagick, setExtract);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_SET_INTERPOLATE_METHOD
|
||||
ZEND_METHOD(Imagick, setInterpolateMethod);
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_SET_ORIENTATION
|
||||
ZEND_METHOD(Imagick, setOrientation);
|
||||
#endif
|
||||
|
||||
|
||||
static const zend_function_entry class_Imagick_methods[] = {
|
||||
@@ -7242,6 +7504,54 @@ static const zend_function_entry class_Imagick_methods[] = {
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_WHITEBALANCEIMAGE
|
||||
ZEND_ME(Imagick, whiteBalanceImage, arginfo_class_Imagick_whiteBalanceImage, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_DELETE_OPTION
|
||||
ZEND_ME(Imagick, deleteOption, arginfo_class_Imagick_deleteOption, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_BACKGROUND_COLOR
|
||||
ZEND_ME(Imagick, getBackgroundColor, arginfo_class_Imagick_getBackgroundColor, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_IMAGE_ARTIFACTS
|
||||
ZEND_ME(Imagick, getImageArtifacts, arginfo_class_Imagick_getImageArtifacts, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_IMAGE_KURTOSIS
|
||||
ZEND_ME(Imagick, getImageKurtosis, arginfo_class_Imagick_getImageKurtosis, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_IMAGE_MEAN
|
||||
ZEND_ME(Imagick, getImageMean, arginfo_class_Imagick_getImageMean, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_IMAGE_RANGE
|
||||
ZEND_ME(Imagick, getImageRange, arginfo_class_Imagick_getImageRange, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_INTERPOLATE_METHOD
|
||||
ZEND_ME(Imagick, getInterpolateMethod, arginfo_class_Imagick_getInterpolateMethod, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_OPTIONS
|
||||
ZEND_ME(Imagick, getOptions, arginfo_class_Imagick_getOptions, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_ORIENTATION
|
||||
ZEND_ME(Imagick, getOrientation, arginfo_class_Imagick_getOrientation, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_RESOLUTION
|
||||
ZEND_ME(Imagick, getResolution, arginfo_class_Imagick_getResolution, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_GET_TYPE
|
||||
ZEND_ME(Imagick, getType, arginfo_class_Imagick_getType, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_POLYNOMIAL_IMAGE
|
||||
ZEND_ME(Imagick, polynomialImage, arginfo_class_Imagick_polynomialImage, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_SET_DEPTH
|
||||
ZEND_ME(Imagick, setDepth, arginfo_class_Imagick_setDepth, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_SET_EXTRACT
|
||||
ZEND_ME(Imagick, setExtract, arginfo_class_Imagick_setExtract, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_SET_INTERPOLATE_METHOD
|
||||
ZEND_ME(Imagick, setInterpolateMethod, arginfo_class_Imagick_setInterpolateMethod, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
#if MagickLibVersion > 0x628 && IM_HAVE_IMAGICK_SET_ORIENTATION
|
||||
ZEND_ME(Imagick, setOrientation, arginfo_class_Imagick_setOrientation, ZEND_ACC_PUBLIC)
|
||||
#endif
|
||||
ZEND_FE_END
|
||||
};
|
||||
+512
@@ -13974,4 +13974,516 @@ PHP_METHOD(Imagick, whiteBalanceImage)
|
||||
/* }}} */
|
||||
#endif //IM_HAVE_IMAGICK_WHITEBALANCEIMAGE
|
||||
|
||||
|
||||
#if IM_HAVE_IMAGICK_DELETE_OPTION
|
||||
/* {{{ proto boolean Imagick::deleteOption(string $option)
|
||||
*/
|
||||
PHP_METHOD(Imagick, deleteOption)
|
||||
{
|
||||
php_imagick_object *intern;
|
||||
MagickBooleanType status;
|
||||
char *option;
|
||||
IM_LEN_TYPE option_len;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &option, &option_len) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
if (php_imagick_ensure_not_empty (intern->magick_wand) == 0)
|
||||
return;
|
||||
|
||||
status = MagickDeleteOption(intern->magick_wand, option);
|
||||
|
||||
if (status == MagickFalse) {
|
||||
php_imagick_convert_imagick_exception(intern->magick_wand, "Unable to deleteOption" TSRMLS_CC);
|
||||
return;
|
||||
}
|
||||
|
||||
RETURN_TRUE;
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_BACKGROUND_COLOR
|
||||
/* {{{ proto int Imagick::getBackgroundColor()
|
||||
*/
|
||||
PHP_METHOD(Imagick, getBackgroundColor)
|
||||
{
|
||||
php_imagick_object *intern;
|
||||
ssize_t offset;
|
||||
php_imagickpixel_object *imagickpixel_object;
|
||||
PixelWand *pixel_wand;
|
||||
MagickBooleanType status;
|
||||
|
||||
if (zend_parse_parameters_none() == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
pixel_wand = MagickGetBackgroundColor(intern->magick_wand);
|
||||
|
||||
if (pixel_wand == NULL) {
|
||||
php_imagick_convert_imagick_exception(intern->magick_wand, "getBackgroundColor" TSRMLS_CC);
|
||||
return;
|
||||
}
|
||||
|
||||
object_init_ex(return_value, php_imagickpixel_sc_entry);
|
||||
imagickpixel_object = Z_IMAGICKPIXEL_P(return_value);
|
||||
php_imagick_replace_pixelwand(imagickpixel_object, pixel_wand);
|
||||
|
||||
return;
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_IMAGE_ARTIFACTS
|
||||
/* {{{ proto array Imagick::getImageArtifacts(string $pattern = "*")
|
||||
*/
|
||||
PHP_METHOD(Imagick, getImageArtifacts)
|
||||
{
|
||||
php_imagick_object *intern;
|
||||
size_t number_artifacts;
|
||||
char *pattern = "*";
|
||||
IM_LEN_TYPE pattern_len;
|
||||
char **artifacts;
|
||||
char *artifact_value;
|
||||
unsigned int i;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &pattern, &pattern_len) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
|
||||
artifacts = MagickGetImageArtifacts(
|
||||
intern->magick_wand,
|
||||
pattern,
|
||||
&number_artifacts
|
||||
);
|
||||
|
||||
array_init(return_value);
|
||||
for (i=0; i<number_artifacts; i++) {
|
||||
artifact_value = MagickGetImageArtifact(intern->magick_wand, artifacts[i]);
|
||||
if (artifact_value == NULL) {
|
||||
add_assoc_null(return_value, artifacts[i]);
|
||||
}
|
||||
else {
|
||||
IM_add_assoc_string(return_value, artifacts[i], artifact_value);
|
||||
MagickRelinquishMemory(artifact_value);
|
||||
}
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_IMAGE_DISTORTIONS
|
||||
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_IMAGE_KURTOSIS
|
||||
/* {{{ proto int Imagick::getImageKurtosis()
|
||||
[kurtosis: float, skewness: float]
|
||||
*/
|
||||
PHP_METHOD(Imagick, getImageKurtosis)
|
||||
{
|
||||
php_imagick_object *intern;
|
||||
|
||||
MagickBooleanType status;
|
||||
double kurtosis;
|
||||
double skewness;
|
||||
|
||||
if (zend_parse_parameters_none() == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
status = MagickGetImageKurtosis(intern->magick_wand, &kurtosis, &skewness);
|
||||
|
||||
if (status == MagickFalse) {
|
||||
php_imagick_convert_imagick_exception(intern->magick_wand, "Unable to getImageKurtosis" TSRMLS_CC);
|
||||
return;
|
||||
}
|
||||
|
||||
array_init(return_value);
|
||||
add_assoc_double(return_value, "kurtosis", kurtosis);
|
||||
add_assoc_double(return_value, "skewness", skewness);
|
||||
|
||||
return;
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_IMAGE_MEAN
|
||||
/* {{{ proto int Imagick::getImageMean()
|
||||
[mean: float, standard_deviation: float]
|
||||
*/
|
||||
PHP_METHOD(Imagick, getImageMean)
|
||||
{
|
||||
php_imagick_object *intern;
|
||||
|
||||
MagickBooleanType status;
|
||||
double mean;
|
||||
double standard_deviation;
|
||||
|
||||
if (zend_parse_parameters_none() == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
status = MagickGetImageMean(intern->magick_wand, &mean, &standard_deviation);
|
||||
|
||||
if (status == MagickFalse) {
|
||||
php_imagick_convert_imagick_exception(intern->magick_wand, "Unable to getImageMean" TSRMLS_CC);
|
||||
return;
|
||||
}
|
||||
|
||||
array_init(return_value);
|
||||
add_assoc_double(return_value, "mean", mean);
|
||||
add_assoc_double(return_value, "standard_deviation", standard_deviation);
|
||||
|
||||
return;
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_IMAGE_RANGE
|
||||
/* {{{ proto int Imagick::getImageRange()
|
||||
[minima: float, maxima: float]
|
||||
*/
|
||||
PHP_METHOD(Imagick, getImageRange)
|
||||
{
|
||||
php_imagick_object *intern;
|
||||
MagickBooleanType status;
|
||||
double minima;
|
||||
double maxima;
|
||||
|
||||
if (zend_parse_parameters_none() == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
status = MagickGetImageRange(intern->magick_wand, &minima, &maxima);
|
||||
|
||||
if (status == MagickFalse) {
|
||||
php_imagick_convert_imagick_exception(intern->magick_wand, "Unable to getImageRange" TSRMLS_CC);
|
||||
return;
|
||||
}
|
||||
|
||||
array_init(return_value);
|
||||
add_assoc_double(return_value, "minima", minima);
|
||||
add_assoc_double(return_value, "maxima", maxima);
|
||||
|
||||
return;
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_INTERPOLATE_METHOD
|
||||
/* {{{ proto int Imagick::getInterpolateMethod()
|
||||
*/
|
||||
PHP_METHOD(Imagick, getInterpolateMethod)
|
||||
{
|
||||
php_imagick_object *intern;
|
||||
PixelInterpolateMethod pixelInterpolateMethod;
|
||||
|
||||
if (zend_parse_parameters_none() == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
pixelInterpolateMethod = MagickGetInterpolateMethod(intern->magick_wand);
|
||||
|
||||
RETVAL_LONG(pixelInterpolateMethod);
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_OPTIONS
|
||||
/* {{{ proto array Imagick::getOptions(string $pattern = "*")
|
||||
*/
|
||||
PHP_METHOD(Imagick, getOptions)
|
||||
{
|
||||
php_imagick_object *intern;
|
||||
size_t number_options;
|
||||
char *pattern = "*";
|
||||
IM_LEN_TYPE pattern_len;
|
||||
char **options;
|
||||
char *option_value;
|
||||
unsigned int i;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &pattern, &pattern_len) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
options = MagickGetOptions(
|
||||
intern->magick_wand,
|
||||
pattern,
|
||||
&number_options
|
||||
);
|
||||
|
||||
array_init(return_value);
|
||||
|
||||
for (i=0; i<number_options; i++) {
|
||||
option_value = MagickGetOption(intern->magick_wand, options[i]);
|
||||
IM_add_assoc_string(return_value, options[i], option_value);
|
||||
MagickRelinquishMemory(option_value);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_ORIENTATION
|
||||
/* {{{ proto int Imagick::getOrientation()
|
||||
*/
|
||||
PHP_METHOD(Imagick, getOrientation)
|
||||
{
|
||||
php_imagick_object *intern;
|
||||
OrientationType orientation;
|
||||
|
||||
if (zend_parse_parameters_none() == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
orientation = MagickGetOrientation(intern->magick_wand);
|
||||
|
||||
RETVAL_LONG(orientation);
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_RESOLUTION
|
||||
/* {{{ proto int Imagick::getSizeOffset()
|
||||
[x: float, y: float]
|
||||
*/
|
||||
PHP_METHOD(Imagick, getResolution)
|
||||
{
|
||||
php_imagick_object *intern;
|
||||
|
||||
MagickBooleanType status;
|
||||
double x;
|
||||
double y;
|
||||
|
||||
if (zend_parse_parameters_none() == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
status = MagickGetResolution(intern->magick_wand, &x, &y);
|
||||
|
||||
if (status == MagickFalse) {
|
||||
php_imagick_convert_imagick_exception(intern->magick_wand, "Unable to getResolution" TSRMLS_CC);
|
||||
return;
|
||||
}
|
||||
|
||||
array_init(return_value);
|
||||
add_assoc_double(return_value, "x", x);
|
||||
add_assoc_double(return_value, "y", y);
|
||||
|
||||
return;
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_GET_TYPE
|
||||
/* {{{ proto int Imagick::getType()
|
||||
*/
|
||||
PHP_METHOD(Imagick, getType)
|
||||
{
|
||||
php_imagick_object *intern;
|
||||
ImageType type;
|
||||
|
||||
if (zend_parse_parameters_none() == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
type = MagickGetType(intern->magick_wand);
|
||||
|
||||
RETVAL_LONG(type);
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_POLYNOMIAL_IMAGE
|
||||
/* {{{ proto Imagick Imagick::polynomialImage(array $terms)
|
||||
number_terms: the number of terms in the list. The actual list length
|
||||
//% is 2 x number_terms + 1 (the constant).
|
||||
*/
|
||||
PHP_METHOD(Imagick, polynomialImage)
|
||||
{
|
||||
MagickWand *tmp_wand;
|
||||
php_imagick_object *intern;
|
||||
zval *terms;
|
||||
double *terms_double_array;
|
||||
MagickBooleanType status;
|
||||
im_long terms_count = 0;
|
||||
|
||||
/* Parse parameters given to function */
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &terms) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
terms_double_array = php_imagick_zval_to_double_array(terms, &terms_count TSRMLS_CC);
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
if (php_imagick_ensure_not_empty (intern->magick_wand) == 0)
|
||||
return;
|
||||
|
||||
status = MagickSetIteratorIndex(intern->magick_wand, 0);
|
||||
if (status == MagickFalse) {
|
||||
php_imagick_convert_imagick_exception(intern->magick_wand, "Unable to polynomialImage, failed to set iterator to zero" TSRMLS_CC);
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO - sanity check terms_count
|
||||
|
||||
status = MagickPolynomialImage(
|
||||
intern->magick_wand,
|
||||
terms_count,
|
||||
terms_double_array
|
||||
);
|
||||
|
||||
efree(terms_double_array);
|
||||
|
||||
if (status == MagickFalse) {
|
||||
php_imagick_convert_imagick_exception(intern->magick_wand, "Unable to polynomialImage" TSRMLS_CC);
|
||||
return;
|
||||
}
|
||||
|
||||
RETURN_TRUE;
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_SET_DEPTH
|
||||
/* {{{ proto bool Imagick::setDepth(int depth)
|
||||
Sets the depth
|
||||
*/
|
||||
PHP_METHOD(Imagick, setDepth)
|
||||
{
|
||||
php_imagick_object *intern;
|
||||
im_long depth;
|
||||
MagickBooleanType status;
|
||||
|
||||
/* Parse parameters given to function */
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &depth) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
|
||||
status = MagickSetDepth(intern->magick_wand, depth);
|
||||
|
||||
/* No magick is going to happen */
|
||||
if (status == MagickFalse) {
|
||||
php_imagick_convert_imagick_exception(intern->magick_wand, "Unable to setDepth" TSRMLS_CC);
|
||||
return;
|
||||
}
|
||||
RETURN_TRUE;
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
|
||||
#if IM_HAVE_IMAGICK_SET_EXTRACT
|
||||
/* {{{ proto bool Imagick::setExtract(string $geometry)
|
||||
Use it for inline cropping (e.g. 200x200+0+0)
|
||||
*/
|
||||
PHP_METHOD(Imagick, setExtract)
|
||||
{
|
||||
char *geometry_string;
|
||||
IM_LEN_TYPE geometry_string_len;
|
||||
MagickBooleanType status;
|
||||
php_imagick_object *intern;
|
||||
|
||||
/* Parse parameters given to function */
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &geometry_string, &geometry_string_len) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
// if (php_imagick_ensure_not_empty (intern->magick_wand) == 0)
|
||||
// return;
|
||||
|
||||
status = MagickSetExtract(intern->magick_wand, geometry_string);
|
||||
|
||||
/* No magick is going to happen */
|
||||
if (status == MagickFalse) {
|
||||
php_imagick_convert_imagick_exception(intern->magick_wand, "Unable to setExtract" TSRMLS_CC);
|
||||
return;
|
||||
}
|
||||
RETURN_TRUE;
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_SET_INTERPOLATE_METHOD
|
||||
/* {{{ proto bool Imagick::setInterpolateMethod(int method)
|
||||
Sets the interpolate pixel method.
|
||||
*/
|
||||
PHP_METHOD(Imagick, setInterpolateMethod)
|
||||
{
|
||||
php_imagick_object *intern;
|
||||
im_long interpolate;
|
||||
MagickBooleanType status;
|
||||
|
||||
/* Parse parameters given to function */
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &interpolate) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
// if (php_imagick_ensure_not_empty (intern->magick_wand) == 0)
|
||||
// return;
|
||||
|
||||
status = MagickSetInterpolateMethod(intern->magick_wand, interpolate);
|
||||
|
||||
/* No magick is going to happen */
|
||||
if (status == MagickFalse) {
|
||||
php_imagick_convert_imagick_exception(intern->magick_wand, "Unable to setInterpolateMethod" TSRMLS_CC);
|
||||
return;
|
||||
}
|
||||
RETURN_TRUE;
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
#if IM_HAVE_IMAGICK_SET_ORIENTATION
|
||||
/* {{{ proto bool Imagick::setOrientation(int orientation)
|
||||
*/
|
||||
PHP_METHOD(Imagick, setOrientation)
|
||||
{
|
||||
php_imagick_object *intern;
|
||||
MagickBooleanType status;
|
||||
im_long orientation_type;
|
||||
|
||||
/* Parse parameters given to function */
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &orientation_type) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
intern = Z_IMAGICK_P(getThis());
|
||||
if (php_imagick_ensure_not_empty (intern->magick_wand) == 0)
|
||||
return;
|
||||
|
||||
status = MagickSetOrientation(intern->magick_wand, orientation_type);
|
||||
|
||||
/* No magick is going to happen */
|
||||
if (status == MagickFalse) {
|
||||
php_imagick_convert_imagick_exception(intern->magick_wand, "Unable to setOrientation" TSRMLS_CC);
|
||||
return;
|
||||
}
|
||||
RETURN_TRUE;
|
||||
}
|
||||
/* }}} */
|
||||
#endif
|
||||
|
||||
/* end of Imagick */
|
||||
|
||||
@@ -1989,6 +1989,23 @@ IMAGICK_REGISTER_CONST_LONG("COMPLEX_OPERATOR_REALIMAGINARY", RealImaginaryCompl
|
||||
IMAGICK_REGISTER_CONST_LONG("COMPLEX_OPERATOR_SUBTRACT", SubtractComplexOperator);
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x702
|
||||
// ImageType
|
||||
IMAGICK_REGISTER_CONST_LONG("IMAGE_TYPE_BILEVEL", BilevelType);
|
||||
IMAGICK_REGISTER_CONST_LONG("IMAGE_TYPE_GRAYSCALE", GrayscaleType);
|
||||
IMAGICK_REGISTER_CONST_LONG("IMAGE_TYPE_GRAYSCALE_ALPHA", GrayscaleAlphaType);
|
||||
IMAGICK_REGISTER_CONST_LONG("IMAGE_TYPE_PALETTE", PaletteType);
|
||||
IMAGICK_REGISTER_CONST_LONG("IMAGE_TYPE_PALETTE_ALPHA", PaletteAlphaType);
|
||||
IMAGICK_REGISTER_CONST_LONG("IMAGE_TYPE_TRUE_COLOR", TrueColorType);
|
||||
IMAGICK_REGISTER_CONST_LONG("IMAGE_TYPE_TRUE_COLOR_ALPHA", TrueColorAlphaType);
|
||||
IMAGICK_REGISTER_CONST_LONG("IMAGE_TYPE_COLOR_SEPARATION", ColorSeparationType);
|
||||
IMAGICK_REGISTER_CONST_LONG("IMAGE_TYPE_COLOR_SEPARATION_ALPHA", ColorSeparationAlphaType);
|
||||
IMAGICK_REGISTER_CONST_LONG("IMAGE_TYPE_OPTIMIZE", OptimizeType);
|
||||
IMAGICK_REGISTER_CONST_LONG("IMAGE_TYPE_PALETTE_BILEVEL_ALPHA", PaletteBilevelAlphaType);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#undef IMAGICK_REGISTER_CONST_LONG
|
||||
#undef IMAGICK_REGISTER_CONST_STRING
|
||||
|
||||
@@ -102,6 +102,74 @@
|
||||
#define IM_HAVE_IMAGICK_ADD_NOISE_WITH_ATTENUATE 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_DELETE_OPTION 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_GET_BACKGROUND_COLOR 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_GET_IMAGE_ARTIFACTS 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_GET_IMAGE_DISTORTIONS 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_GET_IMAGE_KURTOSIS 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_GET_IMAGE_MEAN 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_GET_IMAGE_RANGE 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_GET_INTERPOLATE_METHOD 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_GET_OPTIONS 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_GET_ORIENTATION 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_GET_RESOLUTION 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_GET_TYPE 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x709
|
||||
#define IM_HAVE_IMAGICK_POLYNOMIAL_IMAGE 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_SET_DEPTH 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_SET_EXTRACT 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_SET_INTERPOLATE_METHOD 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x701
|
||||
#define IM_HAVE_IMAGICK_SET_ORIENTATION 1
|
||||
#endif
|
||||
|
||||
#if MagickLibVersion >= 0x70A
|
||||
// Technically, this may be available earlier, but the behaviour around
|
||||
// default mask changed.
|
||||
|
||||
@@ -35,6 +35,8 @@ function setImageArtifact() {
|
||||
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
|
||||
}
|
||||
|
||||
echo "Fail - need to check setImageArtifact with null \n";
|
||||
|
||||
setImageArtifact() ;
|
||||
echo "Ok";
|
||||
?>
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
--TEST--
|
||||
Test Imagick, getBackgroundColor
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__) . '/skipif.inc');
|
||||
checkClassMethods('Imagick', array('getBackgroundColor'));
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function getBackgroundColor() {
|
||||
$imagick = new \Imagick();
|
||||
$background_color = $imagick->getBackgroundColor();
|
||||
|
||||
/** @var $background_color \ImagickPixel */
|
||||
echo "Color is: " . $background_color->getColorAsString() . "\n";
|
||||
|
||||
$imagick->setBackgroundColor('red');
|
||||
$background_color = $imagick->getBackgroundColor();
|
||||
|
||||
/** @var $background_color \ImagickPixel */
|
||||
echo "Color is now: " . $background_color->getColorAsString() . "\n";
|
||||
|
||||
}
|
||||
|
||||
getBackgroundColor() ;
|
||||
echo "Ok";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Color is: srgb(255,255,255)
|
||||
Color is now: srgb(255,0,0)
|
||||
Ok
|
||||
@@ -0,0 +1,78 @@
|
||||
--TEST--
|
||||
Test Imagick, getImageArtifacts
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__) . '/skipif.inc');
|
||||
checkClassMethods('Imagick', array('getImageArtifacts'));
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function getImageArtifacts() {
|
||||
$imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
|
||||
$artifacts = $imagick->getImageArtifacts();
|
||||
|
||||
foreach ($artifacts as $key => $value) {
|
||||
if ($value === null) {
|
||||
echo "$key is null\n";
|
||||
}
|
||||
else {
|
||||
echo "$key = $value\n";
|
||||
}
|
||||
}
|
||||
|
||||
$imagick->getImageBlob();
|
||||
}
|
||||
|
||||
getImageArtifacts();
|
||||
echo "Ok";
|
||||
?>
|
||||
--EXPECTF--
|
||||
aux:Firmware is null
|
||||
aux:FlashCompensation is null
|
||||
aux:ImageNumber is null
|
||||
aux:Lens is null
|
||||
aux:LensID is null
|
||||
aux:SerialNumber is null
|
||||
date:create is null
|
||||
date:modify is null
|
||||
exif:ApertureValue is null
|
||||
exif:BodySerialNumber is null
|
||||
exif:ColorSpace is null
|
||||
exif:CustomRendered is null
|
||||
exif:DateTime is null
|
||||
exif:DateTimeDigitized is null
|
||||
exif:DateTimeOriginal is null
|
||||
exif:ExifOffset is null
|
||||
exif:ExifVersion is null
|
||||
exif:ExposureBiasValue is null
|
||||
exif:ExposureMode is null
|
||||
exif:ExposureProgram is null
|
||||
exif:ExposureTime is null
|
||||
exif:Flash is null
|
||||
exif:FNumber is null
|
||||
exif:FocalLength is null
|
||||
exif:FocalPlaneResolutionUnit is null
|
||||
exif:FocalPlaneXResolution is null
|
||||
exif:FocalPlaneYResolution is null
|
||||
exif:LensModel is null
|
||||
exif:LensSpecification is null
|
||||
exif:Make is null
|
||||
exif:MaxApertureValue is null
|
||||
exif:MeteringMode is null
|
||||
exif:Model is null
|
||||
exif:Orientation is null
|
||||
exif:PhotographicSensitivity is null
|
||||
exif:PixelXDimension is null
|
||||
exif:PixelYDimension is null
|
||||
exif:ResolutionUnit is null
|
||||
exif:SceneCaptureType is null
|
||||
exif:ShutterSpeedValue is null
|
||||
exif:Software is null
|
||||
exif:WhiteBalance is null
|
||||
exif:XResolution is null
|
||||
exif:YResolution is null
|
||||
jpeg:colorspace is null
|
||||
jpeg:sampling-factor is null
|
||||
photoshop:DateCreated is null
|
||||
Ok
|
||||
@@ -0,0 +1,27 @@
|
||||
--TEST--
|
||||
Test Imagick, getImageKurtosis
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__) . '/skipif.inc');
|
||||
checkClassMethods('Imagick', array('getImageKurtosis'));
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
require_once(__DIR__ . '/functions.inc');
|
||||
|
||||
function getImageKurtosis() {
|
||||
$imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
|
||||
$values = $imagick->getImageKurtosis();
|
||||
|
||||
check_value($values, "kurtosis", -0.9379261035010518);
|
||||
check_value($values, "skewness", 0.4562517200972045);
|
||||
}
|
||||
|
||||
getImageKurtosis() ;
|
||||
echo "Ok";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Value for 'kurtosis' is %f which is close enough to expected %f
|
||||
Value for 'skewness' is %f which is close enough to expected %f
|
||||
Ok
|
||||
@@ -0,0 +1,27 @@
|
||||
--TEST--
|
||||
Test Imagick, getImageMean
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__) . '/skipif.inc');
|
||||
checkClassMethods('Imagick', array('getImageMean'));
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
require_once(__DIR__ . '/functions.inc');
|
||||
|
||||
function getImageMean() {
|
||||
$imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
|
||||
$values = $imagick->getImageMean();
|
||||
|
||||
check_value($values, "mean", 29267.518515000003);
|
||||
check_value($values, "standard_deviation", 18075.35838235082);
|
||||
}
|
||||
|
||||
getImageMean();
|
||||
echo "Ok";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Value for 'mean' is %f which is close enough to expected %f
|
||||
Value for 'standard_deviation' is %f which is close enough to expected %f
|
||||
Ok
|
||||
@@ -0,0 +1,28 @@
|
||||
--TEST--
|
||||
Test Imagick, getImageRange
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__) . '/skipif.inc');
|
||||
checkClassMethods('Imagick', array('getImageRange'));
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
require_once(__DIR__ . '/functions.inc');
|
||||
|
||||
function getImageRange() {
|
||||
$imagick = new \Imagick();
|
||||
$imagick->newPseudoImage(320, 240, "gradient:red-blue");
|
||||
$values = $imagick->getImageRange();
|
||||
|
||||
check_value($values, "minima", 0);
|
||||
check_value($values, "maxima", 65535.0);
|
||||
}
|
||||
|
||||
getImageRange() ;
|
||||
echo "Ok";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Value for 'minima' is %f which is close enough to expected %f
|
||||
Value for 'maxima' is %f which is close enough to expected %f
|
||||
Ok
|
||||
@@ -0,0 +1,31 @@
|
||||
--TEST--
|
||||
Test Imagick, getInterpolateMethod/setInterpolateMethod
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__) . '/skipif.inc');
|
||||
checkClassMethods('Imagick', array('getInterpolateMethod'));
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function getInterpolateMethod() {
|
||||
$imagick = new \Imagick();
|
||||
|
||||
|
||||
$value = $imagick->getInterpolateMethod();
|
||||
echo "Interpolate method is " . $value . "\n";
|
||||
$imagick->newPseudoImage(640, 480, "gradient:red-blue");
|
||||
|
||||
$imagick->setInterpolateMethod(Imagick::INTERPOLATE_BILINEAR);
|
||||
|
||||
$value = $imagick->getInterpolateMethod();
|
||||
echo "Interpolate method is now " . $value . "\n";
|
||||
}
|
||||
|
||||
getInterpolateMethod() ;
|
||||
echo "Ok";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Interpolate method is 0
|
||||
Interpolate method is now 5
|
||||
Ok
|
||||
@@ -0,0 +1,43 @@
|
||||
--TEST--
|
||||
Test Imagick, getOptions
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__) . '/skipif.inc');
|
||||
checkClassMethods('Imagick', array('getOptions'));
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function getOptions() {
|
||||
$imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
|
||||
$result = $imagick->getOptions();
|
||||
|
||||
if ($result !== []) {
|
||||
echo "unexpected contents of options:\n";
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
$imagick->setOption("jpeg:preserve", "yes");
|
||||
|
||||
$result = $imagick->getOptions();
|
||||
$expected = ["jpeg:preserve" => "yes"];
|
||||
|
||||
if ($result !== $expected) {
|
||||
echo "unexpected contents of options:\n";
|
||||
var_dump($result);
|
||||
}
|
||||
|
||||
$imagick->deleteOption("jpeg:preserve");
|
||||
$result = $imagick->getOptions();
|
||||
|
||||
if ($result !== []) {
|
||||
echo "unexpected contents of options, failed to delete the set one:\n";
|
||||
var_dump($result);
|
||||
}
|
||||
}
|
||||
|
||||
getOptions() ;
|
||||
echo "Ok";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Ok
|
||||
@@ -0,0 +1,28 @@
|
||||
--TEST--
|
||||
Test Imagick, getOrientation/setOrientation
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__) . '/skipif.inc');
|
||||
checkClassMethods('Imagick', array('getOrientation'));
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function getOrientation() {
|
||||
$imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
|
||||
$orientation = $imagick->getOrientation();
|
||||
|
||||
echo "Orientation is $orientation\n";
|
||||
$imagick->setOrientation(Imagick::ORIENTATION_LEFTBOTTOM);
|
||||
$orientation = $imagick->getOrientation();
|
||||
|
||||
echo "Orientation is now $orientation\n";
|
||||
}
|
||||
|
||||
getOrientation() ;
|
||||
echo "Ok";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Orientation is 0
|
||||
Orientation is now 8
|
||||
Ok
|
||||
@@ -0,0 +1,35 @@
|
||||
--TEST--
|
||||
Test Imagick, getResolution
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__) . '/skipif.inc');
|
||||
checkClassMethods('Imagick', array('getResolution'));
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function getResolution() {
|
||||
$imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
|
||||
$result = $imagick->getResolution();
|
||||
|
||||
echo "x is " . $result['x'] . "\n";
|
||||
echo "y is " . $result['y'] . "\n";
|
||||
|
||||
$imagick->setResolution(120, 60);
|
||||
$result = $imagick->getResolution();
|
||||
|
||||
echo "x is now " . $result['x'] . "\n";
|
||||
echo "y is now " . $result['y'] . "\n";
|
||||
|
||||
$imagick->getImageBlob();
|
||||
}
|
||||
|
||||
getResolution() ;
|
||||
echo "Ok";
|
||||
?>
|
||||
--EXPECTF--
|
||||
x is 72
|
||||
y is 72
|
||||
x is now 120
|
||||
y is now 60
|
||||
Ok
|
||||
@@ -0,0 +1,23 @@
|
||||
--TEST--
|
||||
Test Imagick, getType
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__) . '/skipif.inc');
|
||||
checkClassMethods('Imagick', array('getType'));
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function test_getType() {
|
||||
$imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
|
||||
$type = $imagick->getType();
|
||||
|
||||
echo "Type is " . $type . "\n";
|
||||
}
|
||||
|
||||
test_getType() ;
|
||||
echo "Ok";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Type is 0
|
||||
Ok
|
||||
@@ -0,0 +1,34 @@
|
||||
--TEST--
|
||||
Test Imagick, polynomialImage
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__) . '/skipif.inc');
|
||||
checkClassMethods('Imagick', array('polynomialImage'));
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function polynomialImage() {
|
||||
$imagick = new \Imagick(__DIR__ . '/Biter_500.jpg');
|
||||
$imagick_gradient = new \Imagick();
|
||||
$imagick_gradient->newPseudoImage(
|
||||
$imagick->getImageWidth(),
|
||||
$imagick->getImageHeight(),
|
||||
"gradient:black-white"
|
||||
);
|
||||
|
||||
$imagick->addImage($imagick_gradient);
|
||||
|
||||
$terms = [1, 1, 0.1, 0.1];
|
||||
|
||||
// is 2 x (number_terms + 1 (the constant).
|
||||
$imagick->polynomialImage($terms);
|
||||
$imagick->writeImage(__DIR__ . '/polynomialImage_output_image.png');
|
||||
$imagick->getImageBlob();
|
||||
}
|
||||
|
||||
polynomialImage() ;
|
||||
echo "Ok";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Ok
|
||||
@@ -0,0 +1,27 @@
|
||||
--TEST--
|
||||
Test Imagick, setDepth
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__) . '/skipif.inc');
|
||||
checkClassMethods('Imagick', array('setDepth'));
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function setDepth() {
|
||||
$imagick = new \Imagick();
|
||||
|
||||
$imagick->setDepth(16);
|
||||
$imagick->newPseudoImage(640, 480, "gradient:red-blue");
|
||||
|
||||
echo "Depth is " .$imagick->getImageDepth() . "\n";
|
||||
|
||||
$imagick->getImageBlob();
|
||||
}
|
||||
|
||||
setDepth() ;
|
||||
echo "Ok";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Depth is 16
|
||||
Ok
|
||||
@@ -0,0 +1,33 @@
|
||||
--TEST--
|
||||
Test Imagick, setExtract
|
||||
--SKIPIF--
|
||||
<?php
|
||||
require_once(dirname(__FILE__) . '/skipif.inc');
|
||||
checkClassMethods('Imagick', array('setExtract'));
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
function setExtract() {
|
||||
$imagick = new \Imagick();
|
||||
$imagick->setExtract("300x200+0+0");
|
||||
|
||||
$imagick->readImage(__DIR__ . '/Biter_500.jpg');
|
||||
|
||||
|
||||
// $data = $imagick->getImageBlob();
|
||||
//
|
||||
// $new_imagick = new Imagick();
|
||||
// $new_imagick->readImageBlob($data);
|
||||
|
||||
echo "Width is " . $imagick->getImageWidth() . "\n";
|
||||
echo "Height is " . $imagick->getImageHeight() . "\n";
|
||||
}
|
||||
|
||||
setExtract() ;
|
||||
echo "Ok";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Width is 300
|
||||
Height is 200
|
||||
Ok
|
||||
@@ -110,3 +110,27 @@ function setFontForImagickDraw(\ImagickDraw $imagickDraw)
|
||||
|
||||
$imagickDraw->setFont($font);
|
||||
}
|
||||
|
||||
|
||||
function check_value(array $values, $name, $expected_value)
|
||||
{
|
||||
if (array_key_exists($name, $values) !== true) {
|
||||
|
||||
$message = "Expected key '$name' not set. Array contains:\n";
|
||||
$message .= var_export($values, true);
|
||||
|
||||
throw new \Exception($message);
|
||||
}
|
||||
|
||||
|
||||
$value = $values[$name];
|
||||
|
||||
$epsilon = 0.01;
|
||||
|
||||
if (($value < $expected_value - $epsilon) || ($value > $expected_value + $epsilon)) {
|
||||
$message = "Value for $name doesn't match expected. Expected: $expected_value, actual: $value";
|
||||
throw new \Exception($message);
|
||||
}
|
||||
|
||||
echo "Value for '$name' is $value which is close enough to expected $expected_value\n";
|
||||
}
|
||||
|
||||
@@ -118,6 +118,10 @@ $unsupportedMethods = [
|
||||
"IsMagickWandInstantiated",
|
||||
"IsPixelIterator",
|
||||
"IsWandView",
|
||||
|
||||
// Yeah, no: https://www.zdnet.com/article/london-protesters-slam-us-copyright-laws/
|
||||
"MagickSetPassphrase",
|
||||
|
||||
];
|
||||
|
||||
// "MagickConnectedComponentsImage", // MagickBooleanType MagickConnectedComponentsImage(MagickWand *wand, const size_t connectivity,CCObjectInfo **objects)
|
||||
@@ -125,28 +129,28 @@ $unsupportedMethods = [
|
||||
$todoList = [
|
||||
"DrawGetTypeMetrics",
|
||||
"MagickConnectedComponentsImage",
|
||||
"MagickDeleteImageProperty",
|
||||
"MagickDeleteOption",
|
||||
"MagickGetBackgroundColor",
|
||||
// "MagickDeleteImageProperty" // er, we seem to call DeleteImageProperty directly.
|
||||
// "MagickDeleteOption",
|
||||
// "MagickGetBackgroundColor",
|
||||
"MagickGetExceptionType",
|
||||
"MagickGetImageArtifacts",
|
||||
"MagickGetImageDistortions",
|
||||
"MagickGetImageFeatures",
|
||||
"MagickGetImageKurtosis",
|
||||
"MagickGetImageMean",
|
||||
"MagickGetImageRange",
|
||||
"MagickGetInterpolateMethod",
|
||||
"MagickGetOptions",
|
||||
"MagickGetOrientation",
|
||||
"MagickGetResolution",
|
||||
"MagickGetType",
|
||||
"MagickPolynomialImage",
|
||||
"MagickSetDepth",
|
||||
"MagickSetExtract",
|
||||
"MagickSetInterpolateMethod",
|
||||
"MagickSetOrientation",
|
||||
"MagickSetPassphrase",
|
||||
"MagickSetProgressMonitor",
|
||||
// "MagickGetImageArtifacts",
|
||||
// "MagickGetImageDistortions",
|
||||
// "MagickGetImageFeatures",
|
||||
// "MagickGetImageKurtosis",
|
||||
// "MagickGetImageMean",
|
||||
// "MagickGetImageRange",
|
||||
// "MagickGetInterpolateMethod",
|
||||
// "MagickGetOptions",
|
||||
// "MagickGetOrientation",
|
||||
// "MagickGetResolution",
|
||||
// "MagickGetType",
|
||||
// "MagickPolynomialImage",
|
||||
// "MagickSetDepth",
|
||||
// "MagickSetExtract",
|
||||
// "MagickSetInterpolateMethod",
|
||||
// "MagickSetOrientation",
|
||||
//
|
||||
// "MagickSetProgressMonitor",
|
||||
"MagickSetSecurityPolicy",
|
||||
"PixelGetIteratorExceptionType",
|
||||
];
|
||||
|
||||
@@ -187,7 +187,7 @@ else if (file_exists($directory.'/'.'MagickCore') == true) {
|
||||
'PreviewType',
|
||||
],
|
||||
'MagickCore/fourier.h' => [
|
||||
'ComplexOperator', // used by ComplexImages - not exposed in wand api
|
||||
'ComplexOperator',
|
||||
],
|
||||
'MagickCore/geometry.h' => [
|
||||
// 'GeometryFlags', this is a nightmare of an 'enum'
|
||||
@@ -199,6 +199,7 @@ else if (file_exists($directory.'/'.'MagickCore') == true) {
|
||||
'InterlaceType',
|
||||
'OrientationType',
|
||||
'ResolutionType',
|
||||
'ImageType',
|
||||
//'TransmitType',
|
||||
],
|
||||
'MagickCore/layer.h' => [
|
||||
|
||||
Reference in New Issue
Block a user