HomeMenu
Jesus · Bible · HTML · CSS · JS · PHP · SVG · Applications

imagesetinterpolation

Description

The imagesetinterpolation of Image for PHP set the interpolation method.

Syntax

imagesetinterpolation(
    GdImage $image,
    int $method = IMG_BILINEAR_FIXED
): bool

Parameters

image

A GdImage object, returned by one of the image creation functions, such as imagecreatetruecolor().

method

The interpolation method, which can be one of the following:

ConstantDescription
IMG_BELLBell filter.
IMG_BESSELBessel filter.
IMG_BICUBICBicubic interpolation.
IMG_BICUBIC_FIXEDFixed point implementation of the bicubic interpolation.
IMG_BILINEAR_FIXEDFixed point implementation of the bilinear interpolation. Default.
IMG_BLACKMANBlackman window function.
IMG_BOXBox blur filter.
IMG_BSPLINESpline interpolation.
IMG_CATMULLROMCubic Hermite spline interpolation.
IMG_GAUSSIANGaussian function.
IMG_GENERALIZED_CUBICGeneralized cubic spline fractal interpolation.
IMG_HERMITEHermite interpolation.
IMG_HAMMINGHamming filter.
IMG_HANNINGHanning filter.
IMG_MITCHELLMitchell filter.
IMG_POWERPower interpolation.
IMG_QUADRATICInverse quadratic interpolation.
IMG_SINCSinc function.
IMG_NEAREST_NEIGHBOURNearest neighbour interpolation.
IMG_WEIGHTED4Weighting filter.
IMG_TRIANGLETriangle interpolation.

Return

Returns true on success or false on failure.

Examples

1 · image

<?

$width = 100;
$height = 100;
$image = imagecreate($width, $height);

$return = imagesetinterpolation($image);

var_export($return);
true

2 · method

<?

$width = 100;
$height = 100;
$image = imagecreate($width, $height);

$method = IMG_BELL;

$return = imagesetinterpolation($image, $method);

var_export($return);
true

3 · base64 · method · IMG_BELL

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_BELL;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

4 · base64 · method · IMG_BESSEL

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_BESSEL;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

5 · base64 · method · IMG_BICUBIC

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_BICUBIC;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

6 · base64 · method · IMG_BICUBIC_FIXED

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_BICUBIC_FIXED;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

7 · base64 · method · IMG_BILINEAR_FIXED

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_BILINEAR_FIXED;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

8 · base64 · method · IMG_BLACKMAN

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_BLACKMAN;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

9 · base64 · method · IMG_BOX

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_BOX;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

10 · base64 · method · IMG_BSPLINE

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_BSPLINE;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

11 · base64 · method · IMG_CATMULLROM

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_CATMULLROM;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

12 · base64 · method · IMG_GAUSSIAN

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_GAUSSIAN;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

13 · base64 · method · IMG_GENERALIZED_CUBIC

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_GENERALIZED_CUBIC;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

14 · base64 · method · IMG_HERMITE

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_HERMITE;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

15 · base64 · method · IMG_HAMMING

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_HAMMING;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

16 · base64 · method · IMG_HANNING

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_HANNING;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

17 · base64 · method · IMG_MITCHELL

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_MITCHELL;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

18 · base64 · method · IMG_POWER

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_POWER;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

19 · base64 · method · IMG_QUADRATIC

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_QUADRATIC;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

20 · base64 · method · IMG_SINC

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_SINC;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

21 · base64 · method · IMG_NEAREST_NEIGHBOUR

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_NEAREST_NEIGHBOUR;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

22 · base64 · method · IMG_WEIGHTED4

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_WEIGHTED4;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>

23 · base64 · method · IMG_TRIANGLE

<?

$filename = $_SERVER['DOCUMENT_ROOT'] . '/assets/png/Happy.png';
$image = imagecreatefrompng($filename);

$method = IMG_TRIANGLE;
imagesetinterpolation($image, $method);

$red = 0;
$green = 0;
$blue = 0;
$alpha = 127;
$color = imagecolorallocatealpha($image, $red, $green, $blue, $alpha);

$angle = 45;
$image = imagerotate($image, $angle, $color);

ob_start();

    imagepng($image);

$output = ob_get_clean();

echo '<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,' . base64_encode($output) . '">
</body>
</html>';
<!doctype html>
<html>
<body>
    <img src="data:image/png;base64,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">
</body>
</html>