<?php
bool imagesetinterpolation( GdImage $image,
int $method = IMG_BILINEAR_FIXED )
where,
$image = The image identifier
$method = The interpolation method
( SEE the below TABLE )
?>
IMAGE INTERPOLATION CONSTANTS | ||
CONSTANT | VALUE | MEANING |
IMG_BELL | 1 | Bell filter |
IMG_BESSEL | 2 | Bessel filter |
IMG_BILINEAR_FIXED | 3 | Fixed point implementation of the bilinear interpolation |
IMG_BICUBIC | 4 | Bicubic interpolation |
IMG_BICUBIC_FIXED | 5 | Fixed point implementation of the bicubic interpolation |
IMG_BLACKMAN | 6 | Blackman window function |
IMG_BOX | 7 | Box blur filter |
IMG_BSPLINE | 8 | Spline interpolation |
IMG_CATMULLROM | 9 | Cubic Hermite spline interpolation |
IMG_GAUSSIAN | 10 | Gaussian function |
IMG_GENERALIZED_CUBIC | 11 | Generalized cubic spline fractal interpolation |
IMG_HERMITE | 12 | Hermite interpolation |
IMG_HAMMING | 13 | Hamming filter |
IMG_HANNING | 14 | Hanning filter |
IMG_MITCHELL | 15 | Mitchell filter |
IMG_NEAREST_NEIGHBOUR | 16 | Nearest neighbour interpolation |
IMG_POWER | 17 | Power interpolation |
IMG_QUADRATIC | 18 | Inverse quadratic interpolation |
IMG_SINC | 19 | Sinc function |
IMG_TRIANGLE | 20 | Triangle interpolation |
IMG_WEIGHTED4 | 21 | Weighting filter |
ed48 |
<?php
echo 'PHP VERSION: ' . PHP_VERSION . '<br><br>';
$image01 = 'gif/GIF 028 01.gif';
// Ocaporã - PALETTE IMAGE
$intrp01 = [
"IMG_BELL" => IMG_BELL,
"IMG_BESSEL" => IMG_BESSEL,
"IMG_BILINEAR_FIXED" => IMG_BILINEAR_FIXED,
"IMG_BICUBIC" => IMG_BICUBIC,
"IMG_BICUBIC_FIXED" => IMG_BICUBIC_FIXED,
"IMG_BLACKMAN" => IMG_BLACKMAN,
"IMG_BOX" => IMG_BOX,
"IMG_BSPLINE" => IMG_BSPLINE,
"IMG_CATMULLROM" => IMG_CATMULLROM,
"IMG_GAUSSIAN" => IMG_GAUSSIAN,
"IMG_GENERALIZED_CUBIC" => IMG_GENERALIZED_CUBIC,
"IMG_HERMITE" => IMG_HERMITE,
"IMG_HAMMING" => IMG_HAMMING,
"IMG_HANNING" => IMG_HANNING,
"IMG_MITCHELL" => IMG_MITCHELL,
"IMG_NEAREST_NEIGHBOUR" => IMG_NEAREST_NEIGHBOUR,
"IMG_POWER" => IMG_POWER,
"IMG_QUADRATIC" => IMG_QUADRATIC,
"IMG_SINC" => IMG_SINC,
"IMG_TRIANGLE" => IMG_TRIANGLE,
"IMG_WEIGHTED4" => IMG_WEIGHTED4
];
echo $image01 . '<br><br>Existing Image</span>'; ?><br><br>
<img src="<?php echo $image01; ?>"
alt="<?php echo $image01; ?>"
title="<?php echo $image01; ?>"><br><br>
<?php
$id_img01 = imagecreatefromgif($image01);
$bkg_01 = 0xeeeeee;
foreach($intrp01 as $method01 => $meth01 )
{
$int_image01 = 'gif/GIF 028 01-' . $method01 . '.gif';
$b01 = imagesetinterpolation($id_img01, $meth01);
imagegif($id_img01, $int_image01);
echo '<br><br>' . basename($int_image01) . '<br><br>
Filter: ' . $method01 . '<br>';
?>
<img src="<?php echo $int_image01; ?>"
alt="<?php echo $int_image01; ?>"
title="<?php echo $int_image01; ?>"><br><br>
<?php
if(PHP_MAJOR_VERSION >= 8)
{
echo $method01 . ' = ' . imagegetinterpolation($id_img01);
echo '<br><br>';
}
?>
<?php
}
?>
<?php
echo 'PHP VERSION: ' . PHP_VERSION . '<br><br>';
$tst_img = "gif/GIF 021 02.gif";
// April 25th bridge(POR) - PALETTE IMAGE
$id_org = imagecreatefromgif($tst_img);
$intrp = [ IMG_BELL, IMG_BESSEL, IMG_BICUBIC,
IMG_BICUBIC_FIXED, IMG_BILINEAR_FIXED,
IMG_BLACKMAN, IMG_BOX, IMG_BSPLINE,
IMG_CATMULLROM, IMG_GAUSSIAN,
IMG_GENERALIZED_CUBIC, IMG_HERMITE,
IMG_HAMMING, IMG_HANNING, IMG_MITCHELL,
IMG_POWER, IMG_QUADRATIC, IMG_SINC,
IMG_NEAREST_NEIGHBOUR, IMG_WEIGHTED4,
IMG_TRIANGLE ];
$intrs = [ "BELL", "BESSEL", "BICUBIC",
"BICUBIC_FIXED", "BILINEAR_FIXED",
"BLACKMAN", "BOX", "BSPLINE",
"CATMULLROM", "GAUSSIAN",
"GENERALIZED_CUBIC", "HERMITE",
"HAMMING", "HANNING", "MITCHELL",
"POWER", "QUADRATIC", "SINC",
"NEAREST_NEIGHBOUR", "WEIGHTED4",
"TRIANGLE" ];
echo $tst_img; ?>
<br><br><img src="<?php echo $tst_img; ?>"
alt="<?php echo $tst_img; ?>" width="400"><br><br><br><br>
<?php
$ang_r2 = mt_rand(-30, 30);
// rotation angle in the numeric range [-30, 30}
$bkg_2 = 0xeeeeee;
// background color
$trn = 1;
$rnd_intrp = mt_rand(0, 20);
{
imagesetinterpolation($id_org, $intrp[$rnd_intrp]);
$id_dst2 = imagerotate($id_org, $ang_r2, $bkg_2, $trn );
$dst2_img = 'gif/GIF 021 02-' . $intrs[$rnd_intrp] . '.gif';
imagegif ($id_dst2, $dst2_img);
}
echo basename($dst2_img) . '<br><br>
Rotation angle: ' . $ang_r2 . '°'; ?>
<br><br><img src="<?php echo $dst2_img; ?>"
alt="<?php echo $dst2_img; ?>" width="400">
<?php
echo 'PHP VERSION: ' . PHP_VERSION . '<br><br>';
$tst_img = "bmp/BMP 008 01.bmp";
// TRUECOLOR IMAGE
$id_org = imagecreatefrombmp($tst_img);
$intrp = [ IMG_BELL, IMG_BESSEL, IMG_BICUBIC,
IMG_BICUBIC_FIXED, IMG_BILINEAR_FIXED,
IMG_BLACKMAN, IMG_BOX, IMG_BSPLINE,
IMG_CATMULLROM, IMG_GAUSSIAN,
IMG_GENERALIZED_CUBIC, IMG_HERMITE,
IMG_HAMMING, IMG_HANNING, IMG_MITCHELL,
IMG_POWER, IMG_QUADRATIC, IMG_SINC,
IMG_NEAREST_NEIGHBOUR, IMG_WEIGHTED4,
IMG_TRIANGLE ];
$intrs = [ "BELL", "BESSEL", "BICUBIC",
"BICUBIC_FIXED", "BILINEAR_FIXED",
"BLACKMAN", "BOX", "BSPLINE",
"CATMULLROM", "GAUSSIAN",
"GENERALIZED_CUBIC", "HERMITE",
"HAMMING", "HANNING", "MITCHELL",
"POWER", "QUADRATIC", "SINC",
"NEAREST_NEIGHBOUR", "WEIGHTED4",
"TRIANGLE" ];
echo $tst_img; ?>
<br><br><img src="<?php echo $tst_img; ?>"
alt="<?php echo $tst_img; ?>"><br><br><br><br>
<?php
$ang_r3 = mt_rand(-30, 30);
// rotation angle in the numeric range [-30, 30}
$bkg_3 = 0xeeeeee;
// background color
$trn = 1;
$rnd_intrp = mt_rand(0, 20);
{
imagesetinterpolation($id_org, $intrp[$rnd_intrp]);
$id_dst3 = imagerotate($id_org, $ang_r3, $bkg_3, $trn );
$dst3_img = 'bmp/BMP 008 01.bmp-' . $intrs[$rnd_intrp] . '.bmp';
imagebmp ($id_dst3, $dst3_img);
}
echo basename($dst3_img) . '<br><br>
Rotation angle: ' . $ang_r3 . '°'; ?>
<br><br><img src="<?php echo $dst3_img; ?>"
alt="<?php echo $dst3_img; ?>">