php-src/ext/gd/tests/imageinterpolation_basic.phpt
Christoph M. Becker 03bd4333f6 Add imagegetinterpolation()
While `imagesetinterpolation()` is available as of PHP 5.5.0,
there is no according getter function, so users would have to track the
current interpolation method manually.

To remedy this, we introduce `imagegetinterpolation()` as thin wrapper
for `gdImageGetInterpolationMethod()` (which has been introduced with
libgd 2.1.1), and use `im->interpolation_id` as fallback for older
libgd.  Since our bundled libgd does not yet have this function, we add
it.

We also simplify the recently introduced bug79068.phpt, where it is
sufficient to check that the interpolation method has not been changed.
2020-01-14 18:25:27 +01:00

60 lines
915 B
PHP

--TEST--
imagegetinterpolation() and imagesetinterpolation() basic test
--SKIPIF--
<?php
if (!extension_loaded('gd')) die('skip gd extension not available');
?>
--FILE--
<?php
$methods = array(
IMG_BELL,
IMG_BESSEL,
IMG_BILINEAR_FIXED,
IMG_BICUBIC,
IMG_BICUBIC_FIXED,
IMG_BLACKMAN,
IMG_BOX,
IMG_BSPLINE,
IMG_CATMULLROM,
IMG_GAUSSIAN,
IMG_GENERALIZED_CUBIC,
IMG_HERMITE,
IMG_HAMMING,
IMG_HANNING,
IMG_MITCHELL,
IMG_NEAREST_NEIGHBOUR,
IMG_POWER,
IMG_QUADRATIC,
IMG_SINC,
IMG_TRIANGLE,
IMG_WEIGHTED4,
);
$im = imagecreate(8, 8);
foreach ($methods as $method) {
imagesetinterpolation($im, $method);
var_dump(imagegetinterpolation($im) === $method);
}
?>
--EXPECT--
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)