如何在php-gd中使用插值缩放图像


how to scale image with interpolation in php gd?

我试过这个:

$testJpgUrl = "./800.jpg";
$testJpgGDImage = ImageCreateFromJpeg($testJpgUrl);
echo ("Scaling'n");
$testJpgGDImage = imagescale ($testJpgGDImage , 166 , 125, IMG_BICUBIC_FIXED);
echo ("End scaling'n");
imagejpeg($testJpgGDImage,"./800Thumb.jpg",100);

php script.php的控制台输出为:

Scaling
Segmentation Fault

sudo php script.php控制台输出为:

Scaling

End Scaling 没有任何输出

当我尝试imagescale ($testJpgGDImage , 166 , 125);时,一切都很好,但在这种情况下,图像是在没有插值的情况下缩放的(与Gimp -> scale -> interpolation: none中的效果相同)。我想用插值缩放图像(例如,像Gimp -> scale -> interpolation: cubic中那样)

我做错了什么?

函数imagescale()似乎没有文档。我一直使用imagecopyresampled(),它运行良好。

有关质量比较,请参见:https://blogs.oracle.com/oswald/entry/scaling_images_in_php_done